Gruntjs 在html文件中替换图像路径,但在js文件中不替换
我对Grunt和所有的任务都是陌生的,所以在这一点上请容忍我。我正在开发一个AngularJS应用程序,最初是通过Yeoman创建的。因为有很多视图,所以我认为最好将所有视图都包含在templatecache中。所以我安装了html2js,并根据他们的GitHub阅读配置了它。除了一件事,它几乎工作得很好。我的模板包含一些对本地图像的引用。运行grunt build时,revfile会更改所有这些映像的名称。查看包含所有模板的dist/views文件夹,我可以看到路径是正确的,路径已替换为新路径。但是,这些对路径的更改并没有进入html2js生成的js文件中 如何让Grunt也正确地替换生成的html2js文件中的路径?下面是我认为相关的grunt initConfig部分Gruntjs 在html文件中替换图像路径,但在js文件中不替换,gruntjs,grunt-usemin,Gruntjs,Grunt Usemin,我对Grunt和所有的任务都是陌生的,所以在这一点上请容忍我。我正在开发一个AngularJS应用程序,最初是通过Yeoman创建的。因为有很多视图,所以我认为最好将所有视图都包含在templatecache中。所以我安装了html2js,并根据他们的GitHub阅读配置了它。除了一件事,它几乎工作得很好。我的模板包含一些对本地图像的引用。运行grunt build时,revfile会更改所有这些映像的名称。查看包含所有模板的dist/views文件夹,我可以看到路径是正确的,路径已替换为新路径
filerev: {
dist: {
src: [
'<%= yeoman.dist %>/scripts/{,*/}*.js',
'<%= yeoman.dist %>/styles/{,*/}*.css',
'<%= yeoman.dist %>/images/{,*/}*.{png,jpg,jpeg,gif,webp,svg}',
'<%= yeoman.dist %>/styles/fonts/*'
]
}
},
useminPrepare: {
html: '<%= yeoman.app %>/index.html',
options: {
dest: '<%= yeoman.dist %>',
flow: {
html: {
steps: {
js: ['concat', 'uglifyjs'],
css: ['cssmin']
},
post: {}
}
}
}
},
// Performs rewrites based on filerev and the useminPrepare configuration
usemin: {
html: ['<%= yeoman.dist %>/{,*/}*.html'],
css: ['<%= yeoman.dist %>/styles/{,*/}*.css'],
options: {
assetsDirs: ['<%= yeoman.dist %>', '<%= yeoman.dist %>/images']
}
},
****************************
grunt.registerTask('build', [
'clean:dist',
'wiredep',
'useminPrepare',
'concurrent:dist',
'autoprefixer',
'html2js:main',
'concat',
'ngAnnotate',
'copy:dist',
'cdnify',
'cssmin',
'uglify',
'filerev',
'usemin',
'htmlmin'
]);
我可以建议你改用吗?它的设计正是为了将视图插入$templateCache 我在相对路径方面从未遇到过任何问题
你甚至可以将它与https://github.com/mgcrea/grunt-nginclude 到内联部分。感谢您的回复!这可能会奏效。然而,这实际上并不是问题的解决方案,而是一种变通方法。另外,我不太确定这是否是html2js的问题,而是文件修改任务的问题。