【问题标题】:Async await doesn't get compiled in Grunt异步等待不会在 Grunt 中编译
【发布时间】:2020-05-27 16:22:09
【问题描述】:

我正在尝试使用 Grunt 任务运行器将我的 ES6+ 代码编译为 vanilla js。 我故意选择 Grunt 而不是 webpack 和 gulp,因为我只是想缩小我的 js 文件。

在运行代码后,我已成功将我的 ES6 代码编译为 vanilla,但出现错误,提示未定义 generatorRuntime。在分析了这个问题之后,我可以认为我的 async 和 await 代码在转换为 vanilla js 后会出现问题。

我有我的 gruntfile.js 和 package.json 的代码 sn-p。

        babel: {
            options: {
                sourceMap: true
            },
            dist: {
                files: [{
                    "expand": true,
                    "cwd": "./htdocs/js/src",
                    "src": ["**/*.js"],
                    "dest": "./htdocs/js/compiled/",
                    "ext": ".js"
                }]
            }
        },
        //uglify will minify all the js files in js/src folder.
        uglify: {
            all_src : {
                options : {
                  sourceMap : true
                },
                files: [{
                    expand: true,
                    flatten: true,
                    cwd:'./htdocs/js/compiled',
                    src: '**/*.js',
                    dest: './htdocs/js/dist',
                    ext: '.min.js'
                }]
            }
        }
    grunt.loadNpmTasks('grunt-babel');
    grunt.loadNpmTasks('grunt-contrib-uglify');


包.json

  "devDependencies": {
    "babel-core": "^6.26.3",
    "babel-preset-latest": "^6.24.1",
    "grunt": "^1.1.0",
    "grunt-babel": "^7.0.0",
    "grunt-cli": "^1.3.2",
    "grunt-contrib-uglify": "^4.0.1"  
},
  "babel": {
    "presets": [
      "latest"
    ]
  }

【问题讨论】:

    标签: async-await gruntjs babel-preset-env preset grunt-babel


    【解决方案1】:

    这可能是因为 polyfill 没有在您的捆绑包中提供。在 Gruntfile 中的 babel.options 对象中,您可以设置

    presets: [['@babel/preset-env', { useBuiltIns: 'usage', corejs: 3 }]] 并且不要忘记在您的项目中包含 corejs 作为依赖项。

    npm install core-js --save

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-10
      • 1970-01-01
      • 2016-07-07
      • 2016-03-25
      • 2017-10-09
      相关资源
      最近更新 更多