Grunt - 安装
本章提供了如何在系统上安装 Grunt 的分步过程。
Grunt 的系统要求
操作系统- 跨平台
浏览器支持- IE (Internet Explorer 8+)、Firefox、Google Chrome、Safari、Opera
安装Grunt
步骤 1 - 我们需要 NodeJ 来运行 Grunt。要下载 NodeJs,请打开链接https://nodejs.org/en/,您将看到如下所示的屏幕 -
下载zip 文件的最新功能版本。
步骤 2 - 接下来,运行安装程序以在计算机上安装NodeJ 。
步骤 3 - 接下来,您需要设置环境变量。
路径用户变量
- 右键单击我的电脑。
- 选择属性。
- 接下来,选择“高级”选项卡并单击“环境变量”。
在环境变量窗口下,双击PATH,如屏幕所示。
您将看到一个编辑用户变量窗口,如图所示。在变量值字段中添加 NodeJs 文件夹路径为C:\Program Files\nodejs\node_modules\npm。如果已经为其他文件设置了路径,则需要在其后添加分号(;)并添加 NodeJs 路径,如下所示 -
最后,单击“确定”按钮。
系统变量
在“系统变量”下,双击“路径”,如下图所示。
您将看到一个编辑系统变量窗口,如图所示。在变量值字段中添加 NodeJs 文件夹路径为C:\Program Files\nodejs\并单击确定,如下所示 -
步骤 4 - 要在系统上安装 grunt,您需要全局安装 Grunt 的命令行界面(CLI),如下所示 -
npm install -g grunt-cli
运行上述命令会将grunt命令放入您的系统路径中,这使得它可以从任何目录运行。
安装grunt-cli不会安装 Grunt 任务运行程序。grunt-cli的作用是运行已安装在Gruntfile旁边的 Grunt 版本。它允许一台机器同时安装多个版本的 Grunt。
步骤 5 - 现在,我们将创建配置文件以运行 Grunt。
包.json
package.json文件位于项目的根目录中,位于Gruntfile旁边。每当您在package.json所在的文件夹中运行命令npm install时, package.json用于正确运行每个列出的依赖项。
可以通过在命令提示符中键入以下命令来创建基本的package.json -
npm init
基本的package.json文件如下所示 -
{
"name": "tutorialspoint",
"version": "0.1.0",
"devDependencies": {
"grunt-contrib-jshint": "~0.10.0",
"grunt-contrib-nodeunit": "~0.4.1",
"grunt-contrib-uglify": "~0.5.0"
}
}
您可以通过以下命令将 Grunt 和 gruntplugins 添加到现有的pacakge.json文件中 -
npm install <module> --save-dev
上述命令中,<module>代表要安装到本地的模块。上面的命令还会自动将 <module> 添加到devDependencies中 。
例如,以下命令将安装最新版本的Grunt并将其添加到您的devDependency中-
npm install grunt --save-dev
Gruntfile.js
Gruntfile.js文件用于定义 Grunt 的配置。这是我们的设置将被写入的地方。基本的Gruntfile.js文件如下所示 -
// our wrapper function (required by grunt and its plugins)
// all configuration goes inside this function
module.exports = function(grunt) {
// CONFIGURE GRUNT
grunt.initConfig({
// get the configuration info from package.json file
// this way we can use things like name and version (pkg.name)
pkg: grunt.file.readJSON('package.json'),
// all of our configuration goes here
uglify: {
// uglify task configuration
options: {},
build: {}
}
});
// log something
grunt.log.write('Hello world! Welcome to Tutorialspoint!!\n');
// Load the plugin that provides the "uglify" task.
grunt.loadNpmTasks('grunt-contrib-uglify');
// Default task(s).
grunt.registerTask('default', ['uglify']);
};