1 webpack 概述javascript
Webpack是一款用户打包前端模块的工具。主要是用来打包在浏览器端使用的javascript的。同时也能转换、捆绑、打包其余的静态资源,包括css、image、font file、template等。我的认为它的优势就是易用,并且经常使用功能基本都有,另外能够经过本身开发loader和plugin来知足本身的需求。这里就尽可能详细的来介绍下一些基本功能的使用。css
主要功能html
2 webpack 安装 前端
先安装nodejava
3 配置文件webpack.config.jsnode
module.exorts={}webpack
1) entrygit
//入口文件配置
当入口文件为单个时 ,参数为字符串,
当入口文件为多个时,参数为对象/数组 其中key 为namegithub
2)output web
生成文件配置
参数
path:生成路径,webpack2要求绝对路径,因此先引入path文件
filename: 生成的文件名字 能够动态建立也能够写死,稍后讲解
publicPath:上线时 文件在线地址
动态建立文件名:
[id]--生成chunk文件的id
[name]--chunk的name 例如文件入口的key值
[hash]---打包时生成的hash码
[chunkhash]--- 每一个chunk生成的hash码,当文件改变时这个也跟随改变,文件内容改变时 文件名字也跟随改变
因此文件结构能够用以上三种任意拼接
3)插件的使用plugins
与module 同级,plugins:[]
一, html-webpack-plugin
对html文件的操做
1)npm install html-webpack-plugin --save-dev
2)基础用法
参数解析
template 模板文件
filename:生成的html文件名字可使用[name]-[hash]-[chunkhash]命名
inject:将生成的js文件插入到html文件的哪各部分 true | 'head' | 'body' | false
excludeChunks:[]排除那些chunk
chunks:[]包含哪些chunk
title:html title
或者把文件内容读写到html文件模板里
更多参数参考https://github.com/jantimon/html-webpack-plugin
二 ExtractTextPlugin
生成单独的css 文件
更多参考
https://webpack.js.org/plugins/extract-text-webpack-plugin/#components/sidebar/sidebar.jsx
更多插件后续更新中....
4)loader
基本用法
1)安装loader
eg:
2)引入loader
3)webpack.config.js 配置
1.加载单个loader
2 加载多个laoder
主意:loader的加载顺序是从右往左的优先级
3 对每一个laoder进行单独配置
4 参数详解
bable-loader
1
2页面添加loader
webpack1.0版本
html-loader
打包html文件,同图片解析loader一同使用 file-loader 或url-loader
配置里添加loader
注意:minimize属性对html 文件进行压缩
压缩的参数有
例如
http://www.css88.com/doc/webpack2/loaders/html-loader/
file-loader
打包图片为图片文件
url-loader
打包图片 参数设置
压缩图片 image-webpack-loader
或者能够这么写
当limit>原图片实际大小时 打包后将以二进制流展现,<原尺寸会以源文件展现
css-loader
能够经过option配置更多参数例如
css压缩
ExtractTextPlugin
css 生成单独的文件
postcss-loader
处理css 浏览器前缀
研究了好久 webpack1和webpack2 用大不同
https://webpack.js.org/loaders/postcss-loader/#components/sidebar/sidebar.jsx