vue系列之项目打包
vue完成项目后,如何打包成静态文件,
打包:
1、vue.config.js配置,如果用默认的,打包以后,会找不到文件
// 公共路径(必须有的)
publicPath: "./",
// 输出文件目录
outputDir: "dist",
// 静态资源存放的文件夹(相对于ouputDir)
assetsDir: "assets",
productionSourceMap: true, // 不需要生产环境的设置false可以减小dist文件大小,加速构建
2、修改axios的url配置
打包成静态文件以后,将dist文件里的内容拷贝到tomcat的文件夹,启动tomcat,路径加文件名就可以访问到项目
优化:
在package.json的build后面添加--report,打包以后可以生成report.html文件,用来查看打包以后各文件的大小
今天讲项目打包以后,总大小是10MB,发现主要是element-ui、echarts和jquery大
解决办法是:
1、把这些使用cdn引入,放在index.html文件
<script crossorigin="anonymous" integrity="sha384-9Jr6d8CsEUcQUN6knni8ysVfdmxMXdMdsVxZg11vjeNemsCcm8GSxFhWFgHRtn31" src="https://lib.baomitu.com/echarts/4.2.1/echarts-en.common.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.11"></script>
<script src="https://unpkg.com/vue-router@3.0.7/dist/vue-router.js"></script>
<script src="https://unpkg.com/vuex@3.1.1"></script>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<!-- 引入样式 -->
<link rel="stylesheet" href="https://unpkg.com/element-ui@2.3.9/lib/theme-chalk/index.css">
<!-- 引入组件库 -->
<script src="https://unpkg.com/element-ui@2.3.9/lib/index.js"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/html2canvas/0.5.0-beta4/html2canvas.js"></script>
2、在vue.config.js配置
configureWebpack:() => {
return {
externals: {
'vue': 'Vue',
'vue-router': 'VueRouter',
'vuex': 'Vuex',
'axios': 'axios',
'echarts': 'echarts',
'jquery': 'jquery',
'element-ui': 'ELEMENT',
'lodash': 'lodash',
'html2canvas': 'html2canvas'
}
}
},
3、main.js
import ElementUI from 'element-ui' Vue.use(ElementUI)
删除
Vue.prototype.$echarts = echarts
删除 组件里直接用 echarts调用
4、备注:
(1)、启动项目之前,运行npm install
(2)、element-ui和vuex还是需要npm 安装的
因为项目中有引入这俩快内容

store index.js

vue系列之项目打包的更多相关文章
- vue+webpack+element-ui项目打包优化速度与app.js、vendor.js打包后文件过大
从开通博客到现在也没写什么东西,最近几天一直在研究vue+webpack+element-ui项目打包速度优化,想把这几天的成果记录下来,可能对前端牛人来说我这技术比较菜,但还是希望给有需要的朋友提供 ...
- vue系列之项目优化
webpack中的Code Splitting Code Splitting是什么以及为什么 在以前,为了减少HTTP请求,通常地,我们会把所有的代码都打包成一个单独的JS文件,但是,如果这个文件体积 ...
- 基于vue脚手架的项目打包上线(发布)方法和误区
最近要把vue脚手架开发的一个项目上线,只知道vue脚手架是基于node的服务端项目,那么只需要 npm run dev 就可以轻松启动整个项目,当我想当然的给服务器配置合适的node环境(这里也遇到 ...
- 将Vue移动端项目打包成手机app---HBuilder
将移动端页面打包成app 1.使用 HBuilder 直接编译打包 点击左上角 文件>打开目录>选择目录 选择用Webpack打包好的dist文件目录 由于我添加到项目了,所以会显示该项 ...
- vue -- vue-cli webpack项目打包后自动压缩成zip文件
用vue2.0开发项目,使用npm run build 命令 ,但是只会生成dist文件夹,以下是生成zip压缩包方法 1,插件安装 webpack插件安装 filemanager-webpack-p ...
- vue系列之项目结构
参考地址:链接 build webpack配置相关 config webpack配置相关 node_modules npm install 安装的依赖代码库 src 存放项目源码 static 存 ...
- vue之项目打包部署到服务器
这是今年的第一篇博客.整理一下vue如何从项目打包到部署服务器,给大家做下分享,希望能给大家带来或多或少的帮助,喜欢的大佬们可以给个小赞,如果有问题也可以一起讨论下. 第一步:这是很关键的一步.打开项 ...
- Storm系列(三):创建Maven项目打包提交wordcount到Storm集群
在上一篇博客中,我们通过Storm.Net.Adapter创建了一个使用Csharp编写的Storm Topology - wordcount.本文将介绍如何编写Java端的程序以及如何发布到测试的S ...
- Vue实战Vue-cli项目构建(Vue+webpack系列之一)
用Vue比较长一段时间了,大大小小做了一些项目,最近想总结一下知识点,出一个Vue+webpack系列,先从项目构建说起--vue-cli. 由于是Vue+webpack这里就不赘述git那些东西,默 ...
随机推荐
- Python(四)——PyCharm的安装和使用
python开发IDE: #专业版 #不要汉化 快捷键:Ctrl + ? = 整体注释
- 部署python django程序
在一台新的服务器上x需要先安装python3 ,git , 等 安装python3 安装python3 之前博客写过 创建虚拟环境,我用的是venv https://docs.python.org/ ...
- go 包-锁机制
线程同步 import(“sync”) 互斥锁, var mu sync.Mutex 读写锁, var mu sync.RWMutex 资源竞争样例 func testMap() { var a ma ...
- eclipse中的项目无法添加到server下?
servers视图中不能将工作空间中的项目通过add and remove添加到新建的server下.解决方法如下: 1.右键点击项目,选择properties 2.点击Project facets( ...
- 使用JavaScript修改浏览器URL地址栏的实现代码【转】
引用自http://www.jb51.net/article/42240.htm 现在的浏览器里,有一个十分有趣的功能,你可以在不刷新页面的情况下修改浏览器URL;在浏览过程中.你可以将浏览历史储存起 ...
- ChunkDisappearImage-一个以矩形为单位的图片消失分解效果
效果 使用 1.将ChunkDisappearImage挂在一个空GameObject上. 2.将ChunkDisappearImage的Material设为ChunkDisappearImageMa ...
- Linux 命令详解(八)Systemd 入门教程:实战篇
Systemd 入门教程:实战篇 http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-part-two.html
- Spring session(redis存储方式)监听导致创建大量redisMessageListenerContailner-X线程
待解决的问题 Spring session(redis存储方式)监听导致创建大量redisMessageListenerContailner-X线程 解决办法 为spring session添加spr ...
- python 内建函数专题
all 用来控制 import , 甚至可以改变 _private 为 public enter , exit 用于上下文管理器 iter 用于迭代器 repr 给计算机读, str ==> s ...
- 设置PHPStorm 注释
/** * Desc: xxx#if (${NAME}) * Class: ${NAME}#end#if (${NAMESPACE}) * Package: ${NAMESPACE}#end * Us ...