美文网首页
regeneratorRuntime is not define

regeneratorRuntime is not define

作者: 成神之路_be73 | 来源:发表于2020-11-27 18:21 被阅读0次
    • 解决打包es7转码问题
      诱因:因为使用gulp gulp-babel 来打包压缩代码,使用es8的async/await后发现某些文件未成功打包
      方法:将"es2015"改成babel-preset-env
            stream = stream.pipe(babel({
                    babelrc: false,
                    // presets: [[ "es2015", { modules: false } ]],  // 这个写法仅支持到es6
                    presets: [[ "babel-preset-env", { modules: false } ]],  // 改成babel-preset-env 后支持es7
                    plugins: []
                })).pipe(uglify({
                    compress:{
                        drop_console:true,
                        unused:true,
                        dead_code:true
                    }
             }));
    
    • 打包部署后报错: “regeneratorRuntime is not defined”

      gulp-babel 将async/await打包成以下内容及报错: image.png
    image.png
    • 百度regeneratorRuntime
      通常的解决方法是安装'transform-runtime' ,但是这个插件是运行在node服务器上,即使你装了,浏览器照样不认识
      所以你需要的是在gulp-babel给你编译的时候,把regeneratorRuntime再转换一次,这就用到了babel的babel-polyfill
        npm i babel-polyfill -d
    

    安装后,找到node_module/babel-polyfill/dist/polyfill.min.js这个文件,引入到页面的head中,这样你再一次打包的时候,_asyncToGenerator 这个东西就会返回一个函数了,函数浏览器是认识的,再运行一下项目就没问题了

    相关文章

      网友评论

          本文标题:regeneratorRuntime is not define

          本文链接:https://www.haomeiwen.com/subject/qxzxwktx.html