如何为Grunt设置环境?
How to set the environment for Grunt?
我为两个环境定义了 Gruntfile.js
的任务部分 -- development
和 production
。但是我不明白,Grunt是如何决定的,是否使用哪个环境部分。
Gruntfile.js
module.exports = function(grunt) {
// Project configuration.
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
less: {
development: {
options: {
paths: ["public/css"]
},
files: {
"public/css/style.css": "public/css/style.less"
}
},
production: {
options: {
paths: ["public/css"],
plugins: [
],
modifyVars: {
}
},
files: {
"public/css/style.css": "public/css/style.less"
}
}
},
watch: {
css: {
files: 'public/css/*.less',
tasks: ['less'],
options: {
livereload: true,
},
},
}
});
// Load the plugin that provides the "less" task.
grunt.loadNpmTasks('grunt-contrib-less');
// Load the plugin that provides the "watch" task.
grunt.loadNpmTasks('grunt-contrib-watch');
// Default task(s).
grunt.registerTask('default', ['less', 'watch']);
};
如何让 Grunt 知道哪个环境当前处于活动状态?
我建议您创建一个 development
任务,然后 运行 使用 grunt development
// Default task(s).
grunt.registerTask('default', ['less:production', 'watch']);
// Development task
grunt.registerTask('development', ['less:development', 'watch']);
您可以有两个不同的 g运行t 文件,一个用于开发环境,一个用于生产环境(例如 gruntfile.dev.js
和 gruntfile.prod.js
),并指定应将哪个文件视为相应文件grunfile
通过在你的 npm g运行t 命令中指定文件名,像这样
grunt --gruntfile gruntfile.prod.js
请记住,您可以为 dev 和 prod g运行t 命令定义两个别名
见下文
"scripts":
{
"build:prod": "grunt --gruntfile gruntfile.prod.js",
"build:dev": "grunt --gruntfile gruntfile.dev.js",
}
所以,输入 npm run build:prod
prod g运行tfile 将是 运行 并且输入 npm run build:dev
dev g运行tfile 将是 运行.
这样做,您将拥有更大的灵活性,并且更容易维护与您的 g运行t 配置相关的更改
我为两个环境定义了 Gruntfile.js
的任务部分 -- development
和 production
。但是我不明白,Grunt是如何决定的,是否使用哪个环境部分。
Gruntfile.js
module.exports = function(grunt) {
// Project configuration.
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
less: {
development: {
options: {
paths: ["public/css"]
},
files: {
"public/css/style.css": "public/css/style.less"
}
},
production: {
options: {
paths: ["public/css"],
plugins: [
],
modifyVars: {
}
},
files: {
"public/css/style.css": "public/css/style.less"
}
}
},
watch: {
css: {
files: 'public/css/*.less',
tasks: ['less'],
options: {
livereload: true,
},
},
}
});
// Load the plugin that provides the "less" task.
grunt.loadNpmTasks('grunt-contrib-less');
// Load the plugin that provides the "watch" task.
grunt.loadNpmTasks('grunt-contrib-watch');
// Default task(s).
grunt.registerTask('default', ['less', 'watch']);
};
如何让 Grunt 知道哪个环境当前处于活动状态?
我建议您创建一个 development
任务,然后 运行 使用 grunt development
// Default task(s).
grunt.registerTask('default', ['less:production', 'watch']);
// Development task
grunt.registerTask('development', ['less:development', 'watch']);
您可以有两个不同的 g运行t 文件,一个用于开发环境,一个用于生产环境(例如 gruntfile.dev.js
和 gruntfile.prod.js
),并指定应将哪个文件视为相应文件grunfile
通过在你的 npm g运行t 命令中指定文件名,像这样
grunt --gruntfile gruntfile.prod.js
请记住,您可以为 dev 和 prod g运行t 命令定义两个别名 见下文
"scripts":
{
"build:prod": "grunt --gruntfile gruntfile.prod.js",
"build:dev": "grunt --gruntfile gruntfile.dev.js",
}
所以,输入 npm run build:prod
prod g运行tfile 将是 运行 并且输入 npm run build:dev
dev g运行tfile 将是 运行.
这样做,您将拥有更大的灵活性,并且更容易维护与您的 g运行t 配置相关的更改