VUE cli 4.x下配置多页面以及同时配置支持element-ui及mint-ui并且优化首页文件大小。
场景,公司的一个小型项目,需同时支持移动端和PC端。最开始考虑做两个独立的项目。但后来考虑到总共只有4个功能页面,布署起来相对麻烦。所以决定做在一个项目里。
1、升级vue-cli到4.x
npm install -g @vue/cli
2、项目创建
vue create multipage
项目配置不做描述,这里选了node_sass, babel, router, vuex
3、安装element-ui和mint-ui
npm install element-ui
npm install mint-ui
4、配置按需引入。
借助 babel-plugin-component,我们可以只引入需要的组件,以达到打包项目体积的目的。
然后,将 .babelrc 修改为:
module.exports = {
"presets": [
'@vue/cli-plugin-babel/preset'
],
"plugins": [
[
"component",
{
"libraryName": "mint-ui",
"style": true
},
"mint-ui"
],
[
"component",
{
"libraryName": "element-ui",
"styleLibraryName": "theme-chalk",
"style": true
},
"element-ui"
],
]
}
5、安装axios
npm install axios
6、新建移动端和PC端模板页面。
移动端:public/mobile.html
pc端:public/pc.html
7、删除多余目录和文件,新建移动端目录(src/mobile)和PC端目录(src/pc)
新建移动端入口页(src/mobile/main.js)和首页(src/mobile/index.vue)
8、新建vue.config.js,添加多页面设置:
module.exports = {
pages: {
mobile: {
// page 的入口
entry: "src/mobile/main.js",
// 模板来源
template: "public/mobile.html",
// 在 dist/index.html 的输出
filename: "mobile/index.html",
// 当使用 title 选项时,
// template 中的 title 标签需要是 <title><%= htmlWebpackPlugin.options.title %></title>
title: "Index Page",
// 在这个页面中包含的块,默认情况下会包含
// 提取出来的通用 chunk 和 vendor chunk。
chunks: ["chunk-vendors", "chunk-common", "mobile"]
},
pc: {
// page 的入口
entry: "src/pc/main.js",
// 模板来源
template: "public/pc.html",
// 在 dist/index.html 的输出
filename: "pc/index.html",
// 当使用 title 选项时,
// template 中的 title 标签需要是 <title><%= htmlWebpackPlugin.options.title %></title>
title: "Index Page",
// 在这个页面中包含的块,默认情况下会包含
// 提取出来的通用 chunk 和 vendor chunk。
chunks: ["chunk-vendors", "chunk-common", "pc"]
},
}
}
9、查看打包大小:
npm run build
可以看到chunk-vendors.xxx.js大小只有164.32kiB,如果mobile.xxx.js和mobile_index.js做得好,整个项目首次加载应该是超快的。
10、运行项目
npm run serve
提示如下:
App running at:
- Local: http://localhost:8080/
- Network: http://192.168.2.182:8080/
移动端访问方法:http://localhost:8080/mobile/
PC端访问方法:http://localhost:8080/pc/
以上路径可以在vue.config.js中修改。
全剧终。
代码可以在以下地址可以下载:
https://github.com/gavinjzx/multipage
VUE cli 4.x下配置多页面以及同时配置支持element-ui及mint-ui并且优化首页文件大小。的更多相关文章
- 基于vue 的 UI框架 -- Mint UI
网址: http://mint-ui.github.io/docs/#!/zh-cn 官网: http://mint-ui.github.io/#!/zh-cn vue2.0实例: http://bl ...
- vue cli 解决跨域 线上 nginx 反向代理配置
前后分离 axios 接 api 跨域问题如图: 解决办法: 1. npm start 本地开发环境解决: 在webpack配置文件 /config/index.js 里找到 proxyTable 开 ...
- SpringMVC 实现文件上传与下载,并配置异常页面
目录 上传文件的表单要求 Spring MVC实现上传文件 需要导入的jar包 配置MultipartResolver解析器 编写接收上传文件的控制器 Spring MVC实现文件下载 下载文件时的h ...
- Express 配置HTML页面访问
Express 配置HTML页面访问 1.配置模板引擎 Express默认的模板引擎是pug(jade),想要渲染html页面必须要导入对应的模板引擎ejs npm install ejs 安装完成在 ...
- druid 配置监控界面和开启spring支持
1.配置监控页面 <!-- JNDI方式配置数据源 --> <!-- <bean id="dataSource" class="org.sprin ...
- 066——VUE中vue-router之rewrite模式下配置404页面
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Vue CLI 3.0脚手架如何在本地配置mock数据
前后端分离的开发模式已经是目前前端的主流模式,至于为什么会前后端分离的开发我们就不做过多的阐述,既然是前后端分离的模式开发肯定是离不开前端的数据模拟阶段. 我们在开发的过程中,由于后台接口的没有完成或 ...
- vue cli 3 lintOnSave 配置有时无效问题
一个使用vue cli 3.2创建的项目,创建时未开启 lintOnSave,后来希望开启并设置为 lintOnSave: 'error',但配置不生效. 解决方法1:新创建项目(此时vue cli ...
- vue 配置多页面应用
前言: 本文基于vue 2.5.2, webpack 3.6.0(配置多页面原理类似,实现方法各有千秋,可根据需要进行定制化) vue 是单页面应用.但是在做大型项目时,单页面往往无法满足我们的需求, ...
随机推荐
- Error: errCode: -404011 cloud function execution error | errMsg: clou……错误
在开通了云开发之后,无论点击小程序获取openid按钮报,Error: errCode: -404011 cloud function execution error | errMsg: clou…… ...
- ActiveMQ Topic使用示例
一.非持久的Topic Topic 发送 public class NoPersistenceSender { public static void main(String[] args) throw ...
- Comet OJ - Contest #5 简要题解
好久没更博了,还是象征性地更一次. 依然延续了简要题解的风格. 题目链接 https://cometoj.com/contest/46 题解 A. 迫真字符串 记 \(s_i\) 表示数字 \(i\) ...
- MySQL 子查询(二)
接上篇文章,从这节起:MySQL 5.7 13.2.10.5 Row Subqueries 五.行子查询(ROW Subqueries) 标量子查询返回单个值,列子查询返回一个列的多个值.而行子查询是 ...
- php底层变量存储
变量存储 php的变量使用一个结构体 zval来保存的,在Zend/zend.h中我们可以看到zval的定义 struct _zval_struct { /* Variable information ...
- (三)SpringBoot之配置文件详解:Properties和YAML
一.配置文件的生效顺序,会对值进行覆盖: 1. @TestPropertySource 注解 2. 命令行参数 3. Java系统属性(System.getProperties()) 4. 操作系统环 ...
- sublimeText3汉化安装教程 附注册码
sublimeText3汉化安装教程 sublimeText3 很不错,前面几天下了vscore学习Node.js,感觉有点懵,今天下载sublimeText3,遇到的一些小问题,在这里说说: 百度云 ...
- 七、Flex 布局
布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性.它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现. 2009年,W3C 提出了一种新 ...
- springboot启动流程(十二)springboot事务自动配置
所有文章 https://www.cnblogs.com/lay2017/p/11478237.html 正文 在上一篇文章中,我们简单了解了aop的处理过程.代理增强之前,先生成Advisor,然后 ...
- 鼠标指针光标样式css cursor default pointer hand url
一.cursor语法与结构 1.cursor语法:cursor : auto | crosshair | default | hand | move | help | wait | text | w- ...