适用于多种环境的 Grunt 任务自动化
Grunt task automation for multiple environments
这是我的 grunt 文件,它没有显示错误但不能正常工作,如果我从 'string-replace' 中删除 dev 和 prod 并且只有一个 'string-replace',那么它的 work.Suggest 任何多种环境的解决方案。
//Gruntfile.js
module.exports = function(grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
'string-replace': {
dev : {
inline: {
files: {
'index.html':'index.html'
},
options: {
replacements: [
{
pattern: '<!--start PROD imports-->',
replacement: '<!--start PROD imports'
},
{
pattern: '<!--end PROD imports-->',
replacement: 'end PROD imports-->'
},
{
pattern: '<!--start DEV imports',
replacement: '<!--start DEV imports-->'
},
{
pattern: 'end DEV imports-->',
replacement: '<!--end DEV imports-->'
}
]
}
}
},
prod : {
inline: {
files: {
'index.html':'index.html'
},
options: {
replacements: [
{
pattern: '<!--start PROD imports',
replacement: '<!--start PROD imports-->'
},
{
pattern: 'end PROD imports-->',
replacement: '<!--end PROD imports-->'
},
{
pattern: '<!--start DEV imports-->',
replacement: '<!--start DEV imports'
},
{
pattern: '<!--end DEV imports-->',
replacement: 'end DEV imports-->'
}
]
}
}
}
}
});
grunt.loadNpmTasks('grunt-string-replace');
grunt.registerTask('default', ['string-replace:dev']);
grunt.registerTask('prod', ['string-replace:prod']);
};
我需要它用于开发和生产。
您需要删除内联键。根据我的理解,例如在文档中使用了它。
正确的任务定义如下所示。
以下应该工作。
'string-replace': {
dev : {
files: {
'index.html':'index.html'
},
options: {
replacements: [
{
pattern: '<!--start PROD imports-->',
replacement: '<!--start PROD imports'
},
{
pattern: '<!--end PROD imports-->',
replacement: 'end PROD imports-->'
},
{
pattern: '<!--start DEV imports',
replacement: '<!--start DEV imports-->'
},
{
pattern: 'end DEV imports-->',
replacement: '<!--end DEV imports-->'
}
]
}
},
prod : {
files: {
'index.html':'index.html'
},
options: {
replacements: [
{
pattern: '<!--start PROD imports',
replacement: '<!--start PROD imports-->'
},
{
pattern: 'end PROD imports-->',
replacement: '<!--end PROD imports-->'
},
{
pattern: '<!--start DEV imports-->',
replacement: '<!--start DEV imports'
},
{
pattern: '<!--end DEV imports-->',
replacement: 'end DEV imports-->'
}
]
}
}
}
这是我的 grunt 文件,它没有显示错误但不能正常工作,如果我从 'string-replace' 中删除 dev 和 prod 并且只有一个 'string-replace',那么它的 work.Suggest 任何多种环境的解决方案。
//Gruntfile.js
module.exports = function(grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
'string-replace': {
dev : {
inline: {
files: {
'index.html':'index.html'
},
options: {
replacements: [
{
pattern: '<!--start PROD imports-->',
replacement: '<!--start PROD imports'
},
{
pattern: '<!--end PROD imports-->',
replacement: 'end PROD imports-->'
},
{
pattern: '<!--start DEV imports',
replacement: '<!--start DEV imports-->'
},
{
pattern: 'end DEV imports-->',
replacement: '<!--end DEV imports-->'
}
]
}
}
},
prod : {
inline: {
files: {
'index.html':'index.html'
},
options: {
replacements: [
{
pattern: '<!--start PROD imports',
replacement: '<!--start PROD imports-->'
},
{
pattern: 'end PROD imports-->',
replacement: '<!--end PROD imports-->'
},
{
pattern: '<!--start DEV imports-->',
replacement: '<!--start DEV imports'
},
{
pattern: '<!--end DEV imports-->',
replacement: 'end DEV imports-->'
}
]
}
}
}
}
});
grunt.loadNpmTasks('grunt-string-replace');
grunt.registerTask('default', ['string-replace:dev']);
grunt.registerTask('prod', ['string-replace:prod']);
};
我需要它用于开发和生产。
您需要删除内联键。根据我的理解,例如在文档中使用了它。
正确的任务定义如下所示。
以下应该工作。
'string-replace': {
dev : {
files: {
'index.html':'index.html'
},
options: {
replacements: [
{
pattern: '<!--start PROD imports-->',
replacement: '<!--start PROD imports'
},
{
pattern: '<!--end PROD imports-->',
replacement: 'end PROD imports-->'
},
{
pattern: '<!--start DEV imports',
replacement: '<!--start DEV imports-->'
},
{
pattern: 'end DEV imports-->',
replacement: '<!--end DEV imports-->'
}
]
}
},
prod : {
files: {
'index.html':'index.html'
},
options: {
replacements: [
{
pattern: '<!--start PROD imports',
replacement: '<!--start PROD imports-->'
},
{
pattern: 'end PROD imports-->',
replacement: '<!--end PROD imports-->'
},
{
pattern: '<!--start DEV imports-->',
replacement: '<!--start DEV imports'
},
{
pattern: '<!--end DEV imports-->',
replacement: 'end DEV imports-->'
}
]
}
}
}