grunt-usermin 为什么替换不了html中的资源引用url?
module.exports = function (grunt) {
'use strict';
grunt.initConfig({
clean: {
src: ['css', 'js']
},
cssmin: {
/*压缩 CSS 文件为 .min.css */
options: {
keepSpecialComments: 0 /* 移除 CSS 文件中的所有注释 */
},
minify: {
expand: true,
cwd: 'css/',
src: ['*.css'],
dest: 'css/',
}
},
uglify: {
options: {
// 此处定义的banner注释将插入到输出文件的顶部
banner: '/*! json 1.0.0 最后修改于:<%= grunt.template.today("yyyy-mm-dd") %> */\n'
},
minjs: { //最小化、混淆所有 js/ 目录下的 JavaScript 文件
files: [{
expand: true,
cwd: 'js/',
src: ['*.js'],
dest: './js/',
//ext: '.min.js'
}]
}
},
filerev: {
options: {
algorithm: 'md5',
length: 8,
process: function(basename, name, extension) {
return basename+'.'+name+'.min.'+extension;
},
},
js: {
src: 'public/js/common/js/*.js',
dest: 'js/'
},
css: {
src: 'public/css/common/css/*.css',
dest: 'css/'
}
},
useminPrepare: {
html: 'application/views/**/*.tpl',
options: {
dest: 'dist'
}
},
usemin: {
html: 'application/views/**/*.tpl',
options: {
assetsDirs: ['css/', 'js/'],
patterns: {
html: [
[
"([^/]+?\.js)",
'Update the HTML to reference our concat/min/revved script files'
],
[
"([^/]+?\.css)",
'Update the HTML with the new css filenames'
]
]
}
}
}
});
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks('grunt-filerev');
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-usemin');
require('time-grunt')(grunt);
// 定义默认任务
grunt.registerTask('default', ['clean', 'filerev', 'useminPrepare', 'cssmin:minify', 'uglify:minjs', 'usemin']);
};
这是我的Gruntfile.js
我的html目录在: 开发根目录/application/views/*/.tpl。
js和css都能成功发布在开发根目录的 js和css目录下.
如图:
但是不知道为什么 html中的资源url不能被正确的替换,还请有经验的同学指导一下.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你可以试一下最后单独执行一个usemin的任务