gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器;她不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成;使用她,我们不仅可以很愉快的编写代码,而且大大提高我们的工作效率。
Webpack是一款用户打包前端模块的工具,它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源。主要是用来打包在浏览器端使用的javascript的。同时也能转换、捆绑、打包其他的静态资源,包括css、image、font file、template等
概念性的东西不多说,直接安装
(先从安装gulp开始!!!!!!!)
1、安装nodejs
1.1、说明:gulp是基于nodejs,理所当然需要安装nodejs;
1.2、安装:打开nodejs官网,点击硕大的绿色Download按钮,它会根据系统信息选择对应版本(.msi文件)。然后像安装QQ一样安装它就可以了(安装路径随意)。
2、使用命令行(如果你熟悉命令行,可以直接跳到第3步)
node -v查看安装的nodejs版本,出现版本号,说明刚刚已正确安装nodejs。PS:未能出现版本号,请尝试注销电脑重试;
npm -v查看npm的版本号,npm是在安装nodejs时一同安装的nodejs包管理器
3、npm介绍
3.1、说明:npm(node package manager)nodejs的包管理器,用于node插件管理(包括安装、卸载、管理依赖等);
3.2、使用npm安装插件:命令提示符执行npm install <name> [-g] [--save-dev]
;
3.2.1、<name>:node插件名称。例:npm install gulp-less --save-dev
3.2.2、-g:全局安装。将会安装在C:UsersAdministratorAppDataRoaming
pm
,并且写入系统环境变量; 非全局安装:将会安装在当前定位目录; 全局安装可以通过命令行在任何地方调用它,本地安装将安装在定位目录的node_modules文件夹下,通过require()调用;
3.2.3、--save
:将保存配置信息至package.json(package.json是nodejs项目配置文件);
3.2.4、-dev:保存至package.json的devDependencies节点,不指定-dev将保存至dependencies节点;
3.2.5、为什么要保存至package.json?因为node插件包相对来说非常庞大,所以不加入版本管理,将配置信息写入package.json并将其加入版本管理,其他开发者对应下载即可(命令提示符执行npm install,则会根据package.json下载所有需要的包)。
3.4、使用npm卸载插件:npm uninstall <name> [-g] [--save-dev]
PS:不要直接删除本地插件包
3.5、使用npm更新插件:npm update <name> [-g] [--save-dev]
3.6、查看npm帮助:npm help
3.7、当前目录已安装插件:npm list
4、全局安装gulp
5.1、说明:全局安装gulp目的是为了通过她执行gulp任务;
5.2、安装:命令提示符执行npm install gulp -g;
5.3、查看是否正确安装:命令提示符执行gulp -v,出现版本号即为正确安装。
5、新建package.json文件
5.1、说明:package.json是基于nodejs项目必不可少的配置文件,它是存放在项目根目录的普通json文件;
5.2、它是这样一个json文件(注意:json文件内是不能写注释的,复制下列内容请删除注释):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
{
"name":"test", //项目名称(必须)
"version":"1.0.0", //项目版本(必须)
"description":"This is for study gulp project !", //项目描述(必须)
"homepage":"", //项目主页
"repository":{ //项目资源库
"type":"git",
"url":"https://git.oschina.net/xxxx"
},
"author":{ //项目作者信息
"name":"surging",
"email":"surging2@qq.com"
},
"license":"ISC", //项目许可协议
"devDependencies":{ //项目依赖的插件
"gulp":"^3.8.11",
"gulp-less":"^3.0.0"
}
}
|
5.3、当然我们可以手动新建这个配置文件,但是作为一名有志青年,我们应该使用更为效率的方法:命令提示符执行npm init
6、本地安装gulp插件
6.1、安装:定位目录命令后提示符执行npm install --save-dev
;
6.2、本示例以gulp-less为例(编译less文件),命令提示符执行npm install gulp-less --save-dev
;
6.3、将会安装在node_modules的gulp-less目录下,该目录下有一个gulp-less的使用帮助文档README.md;
6.4、为了能正常使用,我们还得本地安装gulp:npm install gulp --save-dev
;
PS:细心的你可能会发现,我们全局安装了gulp,项目也安装了gulp,全局安装gulp是为了执行gulp任务,本地安装gulp则是为了调用gulp插件的功能。
7、新建gulpfile.js文件(重要)
7.1、说明:gulpfile.js是gulp项目的配置文件,是位于项目根目录的普通js文件(其实将gulpfile.js放入其他文件夹下亦可)。
7.2、它大概是这样一个js文件
//导入工具包 require('node_modules里对应模块') var gulp = require('gulp'), //本地安装gulp所用到的地方 less = require('gulp-less'); //定义一个testLess任务(自定义任务名称) gulp.task('testLess', function () { gulp.src('src/less/index.less') //该任务针对的文件 .pipe(less()) //该任务调用的模块 .pipe(gulp.dest('src/css')); //将会在src/css下生成index.css }); gulp.task('default',['testLess']); //定义默认任务 //gulp.task(name[, deps], fn) 定义任务 name:任务名称 deps:依赖任务名称 fn:回调函数 //gulp.src(globs[, options]) 执行任务处理的文件 globs:处理的文件路径(字符串或者字符串数组) //gulp.dest(path[, options]) 处理完后文件生成路径
8、运行gulp
8.1、说明:命令提示符执行gulp 任务名称;
8.2、编译less:命令提示符执行gulp testLess;
8.3、当执行gulp default或gulp将会调用default任务里的所有任务[‘testLess’,’elseTask’]。
9、总结
9.1、安装nodejs;
9.2、新建package.json文件;
9.3、全局和本地安装gulp;
9.4、安装gulp插件;
9.5、新建gulpfile.js文件;
9.6、通过命令提示符运行gulp任务。
接下来安装webpack
用npm 安装webpack
$ npm install webpack -g
此时 Webpack 已经安装到了全局环境下,可以通过命令行 webpack -h 查看相关指令
通常我们会将webpack安装到项目依赖,这样就可以使用本地版本的webpack
//进入项目目录 //确定已有package.json,没有就npm init 创建 $ npm install webpack --save-dev //查看webpack 版本信息 $ npm info webpack //安装指定版本 $ npm install webpack@1.31.x --save-dev
如果要使用webpack开发工具,要单独安装 webpack-dev-server
$ npm install webpack-dev-server --save-dev
常用命令
webpack
构建命令,webpack的常用参数
$ webpack --config webpack.min.js //另一份配置文件 $ webpack --display-error-details //显示异常信息 $ webpack --watch //监听变动并自动打包 $ webpack -p //压缩混淆脚本,这个非常非常重要! $ webpack -d //生成map映射文件,告知哪些模块被最终打包到哪里了
搞定!!!!