gulp是前端开发过程当中对代码进行构建的工具,是自动化项目的构建利器;她不只能对网站资源进行优化,并且在开发过程当中不少重复的任务可以使用正确的工具自动完成;使用她,咱们不只能够很愉快的编写代码,并且大大提升咱们的工做效率。javascript
Webpack是一款用户打包前端模块的工具,它将根据模块的依赖关系进行静态分析,而后将这些模块按照指定的规则生成对应的静态资源。主要是用来打包在浏览器端使用的javascript的。同时也能转换、捆绑、打包其余的静态资源,包括css、image、font file、template等css
概念性的东西很少说,直接安装前端
(先从安装gulp开始!!!!!!!)java
1.一、说明:gulp是基于nodejs,理所固然须要安装nodejs;node
1.二、安装:打开nodejs官网,点击硕大的绿色Download按钮,它会根据系统信息选择对应版本(.msi文件)。而后像安装QQ同样安装它就能够了(安装路径随意)。webpack
node -v查看安装的nodejs版本,出现版本号,说明刚刚已正确安装nodejs。PS:未能出现版本号,请尝试注销电脑重试;git
npm -v查看npm的版本号,npm是在安装nodejs时一同安装的nodejs包管理器web
3.一、说明:npm(node package manager)nodejs的包管理器,用于node插件管理(包括安装、卸载、管理依赖等);npm
3.二、使用npm安装插件:命令提示符执行npm install <name> [-g] [--save-dev]
;json
3.2.一、<name>:node插件名称。例:npm install gulp-less --save-dev
3.2.二、-g:全局安装。将会安装在C:\Users\Administrator\AppData\Roaming\npm
,而且写入系统环境变量; 非全局安装:将会安装在当前定位目录; 全局安装能够经过命令行在任何地方调用它,本地安装将安装在定位目录的node_modules文件夹下,经过require()调用;
3.2.三、--save
:将保存配置信息至package.json(package.json是nodejs项目配置文件);
3.2.四、-dev:保存至package.json的devDependencies节点,不指定-dev将保存至dependencies节点;
3.2.五、为何要保存至package.json?由于node插件包相对来讲很是庞大,因此不加入版本管理,将配置信息写入package.json并将其加入版本管理,其余开发者对应下载便可(命令提示符执行npm install,则会根据package.json下载全部须要的包)。
3.四、使用npm卸载插件:npm uninstall <name> [-g] [--save-dev]
PS:不要直接删除本地插件包
3.五、使用npm更新插件:npm update <name> [-g] [--save-dev]
3.六、查看npm帮助:npm help
3.七、当前目录已安装插件:npm list
5.一、说明:全局安装gulp目的是为了经过她执行gulp任务;
5.二、安装:命令提示符执行npm install gulp -g;
5.三、查看是否正确安装:命令提示符执行gulp -v,出现版本号即为正确安装。
5.一、说明:package.json是基于nodejs项目必不可少的配置文件,它是存放在项目根目录的普通json文件;
5.二、它是这样一个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.三、固然咱们能够手动新建这个配置文件,可是做为一名有志青年,咱们应该使用更为效率的方法:命令提示符执行npm init
6.一、安装:定位目录命令后提示符执行npm install --save-dev
;
6.二、本示例以gulp-less为例(编译less文件),命令提示符执行npm install gulp-less --save-dev
;
6.三、将会安装在node_modules的gulp-less目录下,该目录下有一个gulp-less的使用帮助文档README.md;
6.四、为了能正常使用,咱们还得本地安装gulp:npm install gulp --save-dev
;
PS:细心的你可能会发现,咱们全局安装了gulp,项目也安装了gulp,全局安装gulp是为了执行gulp任务,本地安装gulp则是为了调用gulp插件的功能。
7.一、说明:gulpfile.js是gulp项目的配置文件,是位于项目根目录的普通js文件(其实将gulpfile.js放入其余文件夹下亦可)。
7.二、它大概是这样一个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.二、编译less:命令提示符执行gulp testLess;
8.三、当执行gulp default或gulp将会调用default任务里的全部任务[‘testLess’,’elseTask’]。
9.一、安装nodejs;
9.二、新建package.json文件;
9.三、全局和本地安装gulp;
9.四、安装gulp插件;
9.五、新建gulpfile.js文件;
9.六、经过命令提示符运行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 --config webpack.min.js //另外一份配置文件 $ webpack --display-error-details //显示异常信息 $ webpack --watch //监听变更并自动打包 $ webpack -p //压缩混淆脚本,这个很是很是重要! $ webpack -d //生成map映射文件,告知哪些模块被最终打包到哪里了
搞定!!!!