0

我正在尝试使用 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');
};
4

1 回答 1

0

当不使用原始的 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"] }]],
        }
    }
}
于 2020-03-11T13:06:59.673 回答