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 相关文章推荐
jquery中获取元素的几种方式小结
Jul 05 Javascript
jQuery之排序组件的深入解析
Jun 19 Javascript
JS实现简单的Canvas画图实例
Jul 04 Javascript
用js判断输入是否为中文的函数
Mar 10 Javascript
node.js中的fs.readFileSync方法使用说明
Dec 15 Javascript
JQuery的ON()方法支持的所有事件罗列
Feb 28 Javascript
JS实现DIV容器赋值的方法
Dec 14 Javascript
JS作用域深度解析
Dec 29 Javascript
bootstrap Table插件使用demo
Aug 07 Javascript
防止Layui form表单重复提交的实现方法
Sep 10 Javascript
JS面向对象编程基础篇(二) 封装操作实例详解
Mar 03 Javascript
js实现轮播图特效
May 28 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扩展编写点滴 技巧收集
2010/03/09 PHP
php+ajax无刷新分页实例详解
2015/12/07 PHP
PHP命名空间namespace用法实例分析
2016/09/27 PHP
PHP设置Cookie的HTTPONLY属性方法
2017/02/09 PHP
PHP基于双向链表与排序操作实现的会员排名功能示例
2017/12/26 PHP
php中isset与empty函数的困惑与用法分析
2019/07/05 PHP
学习ExtJS Panel常用方法
2009/10/07 Javascript
node.js中的fs.lstat方法使用说明
2014/12/16 Javascript
js实现的tab标签切换效果代码分享
2015/08/25 Javascript
js密码强度校验
2015/11/10 Javascript
JavaScript学习总结之JS、AJAX应用
2016/01/29 Javascript
JavaScript Canvas实现验证码
2020/08/02 Javascript
react在安卓中输入框被手机键盘遮挡问题的解决方法
2018/09/03 Javascript
vue treeselect获取当前选中项的label实例
2020/08/31 Javascript
Nuxt 项目性能优化调研分析
2020/11/07 Javascript
[56:38]DOTA2-DPC中国联赛正赛Aster vs Magma BO3 第一场 3月5日
2021/03/11 DOTA
Python爬虫包 BeautifulSoup  递归抓取实例详解
2017/01/28 Python
使用Python来开发微信功能
2018/06/13 Python
Python实现输入二叉树的先序和中序遍历,再输出后序遍历操作示例
2018/07/27 Python
对Python Pexpect 模块的使用说明详解
2019/02/14 Python
numpy ndarray 按条件筛选数组,关联筛选的例子
2019/11/26 Python
python生成特定分布数的实例
2019/12/05 Python
python获取天气接口给指定微信好友发天气预报
2020/12/28 Python
一套比较完整的软件测试人员面试题
2012/05/13 面试题
环境工程求职简历的自我评价范文
2013/10/24 职场文书
教育局长自荐信范文
2013/12/22 职场文书
宾馆总经理岗位职责
2014/02/14 职场文书
会计电算化专业自荐信
2014/03/15 职场文书
优秀班集体先进事迹材料
2014/05/28 职场文书
525心理活动总结
2014/07/04 职场文书
2015年乡镇残联工作总结
2015/05/13 职场文书
手术室消毒隔离制度
2015/08/05 职场文书
2016年社区中秋节活动总结
2016/04/05 职场文书
python机器学习创建基于规则聊天机器人过程示例详解
2021/11/02 Python
基于Python实现股票收益率分析
2022/04/02 Python
MutationObserver在页面水印实现起到的作用详解
2022/07/07 Javascript