Rob*_*ers 8 gruntjs grunt-usemin grunt-contrib-cssmin yo
我的项目是一个非常基本的yo/angular项目.我有以下cssmin配置.
useminPrepare: {
html: '<%= yeoman.app %>/index.html',
options: {
dest: '<%= yeoman.dist %>',
flow: {
html: {
steps: {
js: ['concat', 'uglifyjs'],
css: ['cssmin']
},
post: {}
}
}
}
},
...
cssmin: {
dist: {
files: {
'<%= yeoman.dist %>/styles/main.css': [
'.tmp/styles/{,*/}*.css'
]
}
}
},
...
grunt.registerTask('build', [
'clean:dist',
'wiredep',
'useminPrepare',
'concurrent:dist',
'autoprefixer',
'concat',
'ngAnnotate',
'copy:dist',
'cdnify',
'cssmin',
'uglify',
'filerev',
'usemin',
'htmlmin'
]);
Run Code Online (Sandbox Code Playgroud)
当我运行grunt构建时,我收到以下错误:
Running "cssmin:generated" (cssmin) task
Warning: Path must be a string. Received undefined Use --force to continue.
Aborted due to warnings.
Execution Time (2016-05-26 00:57:04 UTC)
concurrent:dist 15s
autoprefixer:server 3.3s
ngAnnotate:dist 3.6s
cdnify:dist 10.7s
cssmin:dist 888ms
Total 34.6s
Run Code Online (Sandbox Code Playgroud)
我在其他帖子上看到了这个错误,但没有看到cssmin.我已将package.json中的库升级到最新版本,这可能是原因.
这个项目一次很好.我无法确定缺少哪条路径.有谁知道我错过了什么路?
上述回复中提到的答案对我有用.
因此,在第41行的node_modules/grunt-contrib-cssmin/tasks/cssmin.js中,向参数添加一个空字符串或空字符串:
//before
options.relativeTo = path.dirname(availableFiles[0]);
//after
options.relativeTo = path.dirname(availableFiles[0] || '');
Run Code Online (Sandbox Code Playgroud)
来自:https: //github.com/gruntjs/grunt-contrib-cssmin/pull/271/commits/11e655873dfa58b6edcda0113cee612f7a6b2ab9?diff =split
编辑:答案现已过时,请参阅下面的/sf/answers/2763755011/
更多信息运行详细选项:
youri$ grunt -v
Running "cssmin:generated" (cssmin) task
Verifying property cssmin.generated exists in config...OK
Files: [no src] -> dist/styles/vendor.css
Files: .tmp/styles/main.css -> dist/styles/main.css
Options: rebase=false, report="min", sourceMap=false
Warning: Path must be a string. Received undefined Use --force to continue.
Run Code Online (Sandbox Code Playgroud)
看起来我们并不孤单.通过跟踪问题面包屑,我发现:
建议的解决方法是降级到节点v5,实际上,它适用于(对我而言).如果您觉得它更方便,也可以安装节点版本管理器.
你只需要:
在package.json中更改此内容
"grunt-contrib-cssmin": "^1.0.2",
Run Code Online (Sandbox Code Playgroud)
然后
npm install
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6019 次 |
| 最近记录: |