我继承了使用 Grunt (1.0.0)构建其AngularJS前端的应用程序代码。
令我感到惊讶的是,构建操作步骤'复制'(用grunt-contrib-copy plugin实现)需要很长时间:超过1分钟,而我预计它需要不到一秒钟。
以下是grunt build
的{{3}},包括有问题的copy
任务:
loading tasks 1.4s - 2%
uglify:build 14.4s ---------- 16%
copy:common 1m 6.4s ---------------------------------------- 76%
copy:partner_xxxxx 4.9s --- 6%
Total 1m 27.9s
复制文件的数量似乎合理:
Running "copy:common" (copy) task
Created 12 directories, copied 179 files
在Windows资源管理器中复制同一个目标文件夹的时间不到1秒(驱动器是一个快速的SSD)。
以下是定义gulp任务的方法:
copy: {
common: {
cwd: '.',
src: [
'**/*.html',
'**/*.json',
'**/*.cur',
'**/partials/**/*.js',
'**/directives/**/*.js',
'**/app-services/**/*.js',
'**/main-scripts/**/*.js',
'**/bundles/**',
'**/images/**',
'**/utils/**',
'!**/tests/**',
'!**/partner-info/**',
'!**/bower_components/**',
'!**/node_modules/**',
'!bower.json',
'!package.json'
],
dest: publishDest+ "//<%= grunt.option('partnerName') %>"
},
expand: true
}
我的问题是:Grunt这么慢是否正常?有没有可能会减缓这个过程的陷阱? 你有没有办法改善这段时间?