【问题标题】:Grunt: run babel task for each file instead of entire directoryGrunt:为每个文件而不是整个目录运行 babel 任务
【发布时间】:2015-08-26 19:56:26
【问题描述】:

我有这个 Grunfile,它“监视” src/ 目录中的 .js 文件,当其中一个被修改时,babel (https://github.com/babel/grunt-babel) 任务运行以在 dist/ 目录中生成 ES5 文件:

module.exports = function(grunt) {

    require('load-grunt-tasks')(grunt);
    grunt.initConfig({
        babel: {
            options: {
                sourceMap: false
            },

            dist: {
                 files: [{
                    expand: true,
                    cwd: 'src/',
                    src: ['*.js'],
                    dest: 'dist/',
                    ext: '.js'
                }]
            }

        },

        watch: {
            ej6: {
                files: "src/*.js",
                tasks: ['babel']
            }
        }
    });

    grunt.loadNpmTasks('grunt-contrib-watch');

    grunt.registerTask('default', ['babel', 'watch']);

};

是否可以查看 src/ 目录并仅为该特定文件运行 babel 任务?因为,如果我在 src/ 路径中有“n”个文件,脚本将重新生成所有文件。

【问题讨论】:

  • 要考虑的一个选项是跳过 Grunt 并使用 Babel CLI:babel src --out-dir dist -w 做你想做的事。
  • @loganfsmyth 但是这样我可以监听(观察)每个文件的变化吗?
  • -w 在 CLI 监视文件上,并将重新编译更改的文件。还是您有更多要关注的东西?例如,这是一个非常常见的模式:github.com/reapp/reapp-ui/blob/…

标签: javascript gruntjs grunt-contrib-watch babeljs


【解决方案1】:

试试这个包https://www.npmjs.com/package/grunt-newer

我按照您描述的类似方法使用 gulp 等效项。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-05
    • 1970-01-01
    • 1970-01-01
    • 2013-08-23
    • 1970-01-01
    • 2011-09-24
    相关资源
    最近更新 更多