tool_bluej_webpack
Version:
支持最新的webpack3.4.1打包 适用于单页应用、多页应用或vue应用 > **必须保留原始目录结构,千万不要删除任何的文件夹**
103 lines (86 loc) • 3.29 kB
Markdown
支持最新的webpack3.4.1打包
适用于单页应用、多页应用或vue应用
> **必须保留原始目录结构,千万不要删除任何的文件夹**
```
/根目录
|——src 源文件目录
|————images html和css要引用的图片放在此
|————js 主要js文件存放处
|————scss 主要的scss存放处
|————static 静态资源,不经过webpack处理
|——data 存放一些json数据登
|——font 字体文件、icon文件等的存放处
|——images JS文件中动态引用的图片存放在此
|——lib html和js要引入的第三方库
|————index.html 单页应用的html入口文件,如果多页,则多个html文件放在此目录下
|——package.json npm相关配置
|——webpack.config.js webpack配置文件
|——postcss.config.js postcss配置文件(自动加前缀)
```
1. 开发模式
会开启文件监听,热更新,预览web服务
```
npm run dev
```
2. 生产模式
直接打包为最终版本文件,压缩合并图片,CSS,JS,HTML等文件
```
npm run build
```
> 注意:生成的文件,默认是必须放在根目录下访问,才可以访问成功,例如`http://bgg.com/index.html`,那你就必须把dist目录下的文件,全部放在bgg.com域名所指向的根目录
3. 纯监听模式(没预览功能)
```
npm run watch
```
1. 21行可以写入需要打包为公共脚本库的文件列表,默认有`babel-polyfill`,`preload`,`jquery`,`vue`,不需要的话,把其删除即可
```
//html里要引入的公共文件库
lib:["babel-polyfill", "./src/static/lib/preloadjs-0.6.2.min.js","jquery","vue"]
```
2. 多页应用的话,需要增加对应的入口文件和HTML页面
需要在15行的`entry`分支进行添加
```
entry: {
//入口文件,通常一个html一个入口
first: ["./src/js/main.js"], //页面1的入口
second: ["./src/js/second.js"], //页面2的入口
}
```
然后114行的配置,添加对应的html文件配置
```
//自动注入相关文件到
new HtmlWebpackPlugin({
filename: "index.html",
title: '[name]',
inject: true,
chunks: ["first", "lib"], //指定注入的入口文件
template: "./src/index.html",
minify: { //压缩HTML文件
removeComments: true, //移除HTML中的注释
collapseWhitespace: true, //删除空白符与换行符
removeAttributeQuotes: true //删除标签属性值的引号
}
}),
new HtmlWebpackPlugin({
filename: "second.html",
title: '[name]',
inject: true,
chunks: ["second", "lib"], //指定注入的入口文件
template: "./src/second.html",
minify: { //压缩HTML文件
removeComments: true, //移除HTML中的注释
collapseWhitespace: true, //删除空白符与换行符
removeAttributeQuotes: true //删除标签属性值的引号
}
}),
```
[](https://webpack.js.org/configuration/)
[](http://www.css88.com/doc/webpack2/)
[](http://babeljs.io/docs/usage/babelrc/)
[](https://github.com/postcss/postcss)
[](https://www.npmjs.com/package/tinypng-webpack-plugin)