是否可以使用Grunt wiredep插件在 HTML页面中注入缩小版本的依赖项? 这可以通过覆盖Gruntfile.js配置中的wiredep fileTypes设置来完成. 以下内容将所有* .js文件名替换(重命名)为* .min.js: wired
以下内容将所有* .js文件名替换(重命名)为* .min.js:
wiredep: {
task: {
src: [
'public_html/**/*.html', // .html support...
// ...
],
},
fileTypes: {
html: {
block: /(([ \t]*)<!--\s*bower:*(\S*)\s*-->)(\n|\r|.)*?(<!--\s*endbower\s*-->)/gi,
detect: {
js: /<script.*src=['"]([^'"]+)/gi,
css: /<link.*href=['"]([^'"]+)/gi
},
replace: {
js: function(filePath) {
var filePathStrArr = filePath.split('.');
var filePathStr = ''; //filePathStrArr[filePathStrArr.length-2];
if (filePathStrArr[filePathStrArr.length - 2] != 'min') {
filePathStrArr.pop();
filePathStr = filePathStrArr.join('.') + '.min.js';
if(!grunt.file.exists(filePathStr)){
//console.log('warning - file does not exist:'+filePathStr);
filePathStr = filePath; //if the .min.js file does not exist then revert back to original filename
}
} else {
filePathStr = filePath;
}
return '<script src="' + filePathStr + '"></script>';
},
css: '<link rel="stylesheet" href="{{filePath}}" />'
}
}
}
}
请注意,这假设您的所有JavaScript位置都有* .min.js文件.
