时间:2021-05-26
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的配置简单能看懂。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
webpack打包vue项目的时候默认会把vue里的css打包到页面上。webpack.config.js里的plugins加上以下配置newwebpack.L
前言:本文基于vue2.5.2,webpack3.6.0(配置多页面原理类似,实现方法各有千秋,可根据需要进行定制化)vue是单页面应用。但是在做大型项目时,单
项目下载地址vue-cli多页面多路由项目示例:vue+webpack+vue-router+vuex+mock+axiosUsageThisisaprojec
公司使用vue-cli创建的vue项目在初始化时并没有做多页面配置,随着需求的不断增加,发现有必要使用多页面配置。看了很多vue多页面配置的文章,基本都是在初始
标题可能描述不准确,大概就是这么个需求:用Vue-cli搭建一个多入口,多页面的站点,也就是通过html-webpack-plugin插件会生成多个.html文