Cer*_*ler 6 build-process ember.js gruntjs yeoman
我使用Yeoman在EmberJS中创建了一个Web应用程序.一切正常,但在使用grunt build命令后,如果我在浏览器中查看构建的应用程序(来自dist目录),我可以看到一些图像丢失,因为src路径错误.
Grunt正在更改"image"文件夹中所有图像的名称,但不会更新HTML中的路径.它仅在css文件中更新路径; .hbs模板文件中的图像仍然具有旧路径(使用旧图像名称)...
有人知道怎么修这个东西吗?
最后我摆脱了这个:
所需要的就是编辑项目根目录中的Gruntfile.js; rev任务是管理图像重命名的任务; 通常它是这样的:
rev: {
dist: {
files: {
src: [
'<%= yeoman.dist %>/scripts/{,*/}*.js',
'<%= yeoman.dist %>/styles/{,*/}*.css',
'<%= yeoman.dist %>/images/{,*/}*.{png,jpg,jpeg,gif,webp}',
'<%= yeoman.dist %>/styles/fonts/*'
]
}
}
},
Run Code Online (Sandbox Code Playgroud)
您只需要删除告诉他处理images文件夹的行:
rev: {
dist: {
files: {
src: [
'<%= yeoman.dist %>/scripts/{,*/}*.js',
'<%= yeoman.dist %>/styles/{,*/}*.css',
'<%= yeoman.dist %>/styles/fonts/*'
]
}
}
},
Run Code Online (Sandbox Code Playgroud)
它完成了; 所有图像都将保留其原始名称,因此不会在css,html或hbs文件中更新路径...请注意,rev任务仅负责文件重命名,而不是压缩(对于图像由imagemin任务完成)因此,无论如何都会压缩图像......