我正在尝试使用 Grunt 任务运行器将我的 ES6+ 代码编译为 vanilla js。我故意选择 Grunt 而不是 webpack 和 gulp,因为我只是想缩小我的 js 文件。
在运行代码后,我已成功将我的 ES6 代码编译为 vanilla,但出现错误,提示未定义 generatorRuntime。在分析了这个问题后,我可以认为我的 async 和 await 代码在转换为 vanilla js 后会出现问题。
我有我的 gruntfile.js 和 package.json 的代码片段。
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"
]
}