1
我使用usemin生成我的JS和CSS文件 - 所有這些都以非常標準的方式。使用filerev在grunt usemin後刪除舊文件
我遇到的唯一問題是我想從我的dist中刪除舊的編譯文件。
我咕嚕配置爲:
grunt.registerTask('build',['jshint','copy','html2js:main','useminPrepare','concat:generated','cssmin:generated','uglify:generated','filerev','usemin','html2js:embed','clean:build']);
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
default: {},
useminPrepare: {
html: 'index.html',
options: {
dest: 'dist',
flow: {
steps: {
nominjs: ['concat'],
js: ['concat','uglifyjs'],
css: ['concat','cssmin']
},
post: {}
}
}
},
filerev: {
options: {
encoding: 'utf8',
algorithm: 'md5',
length: 8
},
source: {
files: [{
src: [
'dist/assets/css/ipp-styles.min.css',
'dist/scripts/ipp-scripts.min.js',
'dist/scripts/ipp-libs.js',
'dist/scripts/ipp-templates.min.js'
]
}]
}
},
usemin: {
html:['dist/index.html'],
options: {
blockReplacements: {
nominjs: function(block){
return '<script src="'+block.dest+'"></script>';
}
}
}
},
clean: {
build: ['.tmp']
},
copy: {
html: {
files: [
{expand:true, src:['index.html'], dest: 'dist'},
{expand:true, src:['.htaccess'], dest: 'dist'}
]
},
assets: {
files: [
{expand:true, src:['assets/images/**','assets/fonts/**','assets/js/**'], dest: 'dist'}
]
},
libs: {
files: [
{expand:true, src:['libs/forge.min.js'], dest: 'dist'},
]
},
config: {
files: [
{expand:true, src:['config/config_diff.js'], dest:'dist', rename: function(dest,src){
return dest + '/' + src.replace(/\.js$/,"_sample.js");
}},
]
}
},
jshint: {
options: {
force: true,
esnext: true
},
all: [
'config/*.js',
'scripts/**/*.js',
'!scripts/ipp-scripts*'
]
},
uglify: {
options: {
compress: {
drop_console: true
}
}
},
html2js: {
main: {
options: {
base:''
},
src: ['views/**/*.html'],
dest: 'dist/scripts/templates.js'
}
}
});
沒有什麼太特別的地方,我會說。一切都很正常,只有「問題」我遇到的是幾個建立後,我結束了這一點:
然後我得去手動刪除舊文件。
有沒有辦法在grunt運行過程中將它們刪除?運行後,我可以刪除「IPP-scripts.min *」,但我需要排除當前使用的一個...
感謝您的建議
您應該建立一個與源代碼分開的新文件夾。然後,您可以刪除該文件夾。 – srlm
@srlm你是什麼意思?每次建造到不同的文件夾?沒有多大意義。在一天結束時,你有** dist **文件夾,並且你想在那裏只有一個縮小文件版本 – Tom