我正在尝试在我的grunt构建过程中使用Babel将我的.js
项目文件从ES6转换为ES5.我有一个watch
任务正在查看我的.js
目录中的更改,当检测到更改时,我运行babel
任务.
但是出于某种原因,仅更改一个.js
文件需要6-10秒才能完成.我感觉它正在整个项目的转变,但我不确定.我Gruntfile.js
看起来像这样:
grunt.initConfig({ watch: { babel: { files: ["<%= yeoman.app %>/scripts/**/*.js"], tasks: ["babel"] }, livereload: { options: { livereload: LIVERELOAD_PORT }, files: [ "{.tmp,<%= yeoman.app %>}/scripts/**/*.js", ] } }, babel: { options: { sourceMap: true, presets: ['es2015'] }, dist: { files: [ { expand: true, cwd: '<%= yeoman.app %>/scripts/', src: ['**/*.js'], dest: '.tmp/scripts/' } ] } } }); grunt.registerTask("serve", function(target) { return grunt.task.run(["watch"]); });
当我运行grunt serve
并更改文件时,它会记录执行时间:
运行"babel:dist"(babel)任务
完成,没有错误.
执行时间(2015-12-01 11:57:54 UTC)babel:dist 6.7s▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ ▇▇▇▇▇100%总计6.7s
但是当我babel-cli
在我的终端中使用时,它会在几毫秒内完成,甚至几乎是瞬间完成:
babel --presets es2015 script.js --out-file transpiled.js
当然这太长了.我在这里做错了什么.
任何帮助表示赞赏.提前致谢!