Grunt Babel每文件耗时6秒
Grunt Babel Taking 6 Seconds Per File
我正试图在我的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)巴贝尔:dist 6.7s▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇100%总计6.7s
但当我在终端中使用babel-cli
时,它会在几毫秒内传输,甚至几乎是瞬间:
babel --presets es2015 script.js --out-file transpiled.js
这肯定太长了。我在这里做错什么了吗。
感谢您的帮助。提前感谢!
在开发过程中,您可以决定直接在浏览器中运行JS版本的Babel核心,它运行得很快。
然后,为了进行部署,你可以制作一个特定的Grunt构建任务,从HTML中删除Babel Core,并使用Grunt Babel插件转换文件。
你的Gruntfile会有这样的东西:
grunt.registerTask('build', ['processhtml', 'babel']);
grunt.registerTask('default', [''watch']);
为了删除Babel核心JS,你可以使用像grunt processhtml这样的插件:http://www.npmjs.com/package/grunt-processhtml。HTML将如下所示:
<!-- build:remove -->
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/6.1.19/browser.min.js"></script>
<!-- /build -->
JS Babel核心可以在这里找到:http://cdnjs.com/libraries/babel-core。您可以下载它并将其添加到您的项目中,也可以直接从CDN运行它。
- 如何播放部分音频文件
- 从桌面读取python文件时高亮显示代码
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 如何使用WCF服务和javascript表单post上传.doc文件
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 你能用sound.js在播放声音文件后5秒执行一个动作吗
- Javascript - 如何从文件加载变量并每 3 秒刷新一次
- 如何在不刷新页面的情况下每 10 秒在本地重新加载一次 JS 文件
- 如何使用javascript每隔10秒检查一个php文件
- 使用javascript抓取10秒的音频文件
- 长度小于4秒的html5音频mp3文件将无法播放()
- Grunt Babel每文件耗时6秒
- Chrome扩展如何每2秒运行一次后台文件功能
- 使用Javascript,如何在单击下载文件的链接后1秒重新加载窗口
- Javascript或jQuery用于拍摄视频文件的第一秒快照
- 如何在网页加载后5秒播放音频文件
- 在网页上显示一个每秒更新一次的txt文件
- Ajax以1秒的间隔显示文件,而无需用户交互
- 如何用JavaScript每5秒加载一个PHP文件?
- 每15秒读取一个文本文件的内容