我正在尝试使用ES6模块的语法,因此将几个JS文件(包含导入和导出语句)打包到一个浏览器可读的文件中。
我没有错误,所以为什么我的2个源文件没有被编译成我的一个目标文件?我在此管道中缺少什么属性?谢谢
module.exports = function(grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
browserify: {
development: {
src: [
"src/js/test_file_one.js",
"src/js/test_file_two.js"
],
dest: 'assets/js/es6_script.min.js',
options: {
browserifyOptions: { debug: true },
presets: ['@babel/preset-env']
}
}
},
watch: {
js: {
files: "src/js/*.js",
tasks: "browserify"
}
}
});
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-browserify');
grunt.registerTask('default', ['watch']);
grunt.registerTask('build', 'grunt-browserify');
};
如果不使用原始的babel和babel预设,这会很奇怪,那里的大多数答案都倾向于参考。我需要运行browserify TRANSFORM:
browserify: {
dist: {
src: [
"src/js/toasts.js",
"src/js/test.js"
],
dest: 'assets/js/es6_script.min.js',
options: {
browserifyOptions: { debug: true },
transform: [['babelify', { presets: ["@babel/preset-env"] }]],
}
}
}