WebPack配置vue多页面的技巧


Posted in Javascript onMay 15, 2018

WebPack虐我千百遍,我带她如初恋。一个项目前台页面写差不多了,webpack几乎零配置,也算work起来了。现在需要编写后台管理界面,另起一个单独的项目,那是不存在的。于是网上了搜了大把大把的文章,很多都是修改了项目的结构,讨厌,vue-cli搞的那一套,干嘛要修改来修改去的。像我这种前端小萌新,webpack的配置改着就把前台部分run不起来了。。。

于是就有了这个笔记:

先看看项目的结构:

├── build
├── config
├── src
│   ├── api
│   ├── assets
│   ├── components
│   ├── pages
│   ├── router
│   ├── utils
│   ├── vuex
│   ├── App.vue
│   ├── main.js
│   ├── admin.js
│   └── Admin.vue
├── static
│   └── images
├── README.md
├── admin.html
├── index.html
├── package.json
└── yarn.lock

我相信这样的结构大家一定很熟悉,除了 admin.html 和src文件夹下面的 Admin.vue 、 admin.js ,还有一些api,pages,vuex等文件夹,就是最常见的一个vue-cli初始化的项目结构。

我想要就是新增一个后台管理界面的入口admin.html,其他能够共用的还是共用,进入正题:

修改webpack的配置文件

修改 webpack.base.conf.js

打开 ~\build\webpack.base.conf.js ,找到entry,添加多入口:

entry: {
 app: './src/main.js',
 admin: './src/admin.js' //新增
},

这样运行编译的时候,每一个入口都会对应一个chunk。

run dev配置的修改

打开 ·~\build\webpack.dev.conf.js· ,在plugins下找到 HtmlWebpackPlugin ,在其后面添加对应的多页,并为每个页面添加Chunk配置如下:

new HtmlWebpackPlugin({
 filename: 'index.html', //生成的html
 template: 'index.html', //来源html
 inject: true, 
 chunks: ['app']//需要引入的Chunk,不配置就会引入所有页面的资源
}),
new HtmlWebpackPlugin({
 filename: 'admin.html',
 template: 'admin.html',
 inject: true,
 chunks: ['admin']
}),

run build配置的修改

修改config/index.js

打开 ~\config\index.js ,找到build下的 index: path.resolve(__dirname, '../dist/index.html') ,在其后添加多页:

admin: path.resolve(__dirname, '../dist/admin.html'),

修改 webpack.prod.conf.js

打开 ~\build\webpack.prod.conf.js ,在plugins下找到 HtmlWebpackPlugin ,在其后面添加对应的多页,并为每个页面添加Chunk配置:

new HtmlWebpackPlugin({
 filename: config.build.index,
 template: 'index.html',
 inject: true,
 minify: {
 removeComments: true,
 collapseWhitespace: true,
 removeAttributeQuotes: true
 // more options:
 // https://github.com/kangax/html-minifier#options-quick-reference
 },
 // necessary to consistently work with multiple chunks via CommonsChunkPlugin
 chunksSortMode: 'dependency',
 chunks: ['manifest', 'vendor', 'app']
}),
new HtmlWebpackPlugin({
 filename: config.build.admin,
 template: 'admin.html',
 inject: true,
 minify: {
 removeComments: true,
 collapseWhitespace: true,
 removeAttributeQuotes: true
 },
 chunksSortMode: 'dependency',
 chunks: ['manifest', 'vendor', 'admin']
}),

End

恩,没有了,就不修改什么项目结构了,过程越复杂越容易出错。上面webpack的配置简单能看懂。

Javascript 相关文章推荐
运用Windows XP附带的Msicuu.exe、Msizap.exe来彻底卸载顽固程序
Apr 21 Javascript
javascript getElementsByName()的用法说明
Jul 31 Javascript
jQuery实现监控页面所有ajax请求的方法
Dec 10 Javascript
javascript设置文本框光标的方法实例小结
Nov 04 Javascript
js生成随机颜色方法代码分享(三种)
Dec 29 Javascript
MUI 上拉刷新/下拉加载功能实例代码
Apr 13 Javascript
vue.js 获取当前自定义属性值
Jun 01 Javascript
Ajax高级笔记 JavaScript高级程序设计笔记
Jun 22 Javascript
Vue.js实现实例搜索应用功能详细代码
Aug 24 Javascript
Three.js利用dat.GUI如何简化试验流程详解
Sep 26 Javascript
JS实现判断数组是否包含某个元素示例
May 24 Javascript
nuxt 实现在其它js文件中使用store的方式
Nov 05 Javascript
修改npm全局安装模式的路径方法
May 15 #Javascript
修改node.js默认的npm安装目录实例
May 15 #Javascript
Vue中的scoped实现原理及穿透方法
May 15 #Javascript
vue-cli项目中使用Mockjs详解
May 14 #Javascript
vue使用自定义icon图标的方法
May 14 #Javascript
基于Vue2x的图片预览插件的示例代码
May 14 #Javascript
vue组件中的数据传递方法
May 14 #Javascript
You might like
php Imagick获取图片RGB颜色值
2014/07/28 PHP
深入浅析用PHP实现MVC
2016/03/02 PHP
php使用curl通过代理获取数据的实现方法
2016/05/16 PHP
Yii视图CGridView列表用法实例分析
2016/07/12 PHP
浅谈PHP封装CURL
2019/03/06 PHP
捕获关闭窗口的脚本
2009/01/10 Javascript
asp.net+jquery滚动滚动条加载数据的下拉控件
2010/06/25 Javascript
腾讯UED 漂亮的提示信息效果代码
2011/09/12 Javascript
jquery解决图片路径不存在执行替换路径
2013/02/06 Javascript
简单实用的反馈表单无刷新提交带验证
2013/11/15 Javascript
基于Bootstrap实现图片轮播效果
2016/05/22 Javascript
Vue.JS入门教程之列表渲染
2016/12/01 Javascript
jQuery动态生成不规则表格(前后端)
2017/02/21 Javascript
js 简易版滚动条实例(适用于移动端H5开发)
2017/06/26 Javascript
js实现同一个页面,多个enter事件绑定的示例
2018/10/10 Javascript
IE8中jQuery.load()加载页面不显示的原因
2018/11/15 jQuery
Vue之Mixins(混入)的使用方法
2019/09/24 Javascript
[01:19]DOTA2城市挑战赛报名开始 开启你的城市传奇
2018/03/23 DOTA
Tensorflow简单验证码识别应用
2017/05/25 Python
python 构造三维全零数组的方法
2018/11/12 Python
python射线法判断一个点在图形区域内外
2019/06/28 Python
解决Python安装cryptography报错问题
2020/09/03 Python
使用tkinter实现三子棋游戏
2021/02/25 Python
基于CSS3实现立方体自转效果
2016/03/01 HTML / CSS
瑞典最好的运动鞋专卖店:Sneakersnstuff
2016/08/29 全球购物
介绍一下你对SOA的认识
2016/04/24 面试题
酒店节能降耗方案
2014/05/08 职场文书
2014年法院个人工作总结
2014/12/17 职场文书
班主任培训研修日志
2015/11/13 职场文书
幼儿园大班开学寄语(2016秋季)
2015/12/03 职场文书
不会写演讲稿,快来看看这篇文章!
2019/08/06 职场文书
ORACLE查看当前账号的相关信息
2021/06/18 Oracle
springboot利用redis、Redisson处理并发问题的操作
2021/06/18 Java/Android
gateway与spring-boot-starter-web冲突问题的解决
2021/07/16 Java/Android
Python获取字典中某个key的value
2022/04/13 Python
微前端qiankun改造日渐庞大的项目教程
2022/06/21 Javascript