博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Vue-cli
阅读量:5919 次
发布时间:2019-06-19

本文共 1588 字,大约阅读时间需要 5 分钟。

vue-cli 中一些优化措施

Single File Components(SFCs)

,在一个 以.vue 后缀结尾的文件,里面可以写js,css,html,使用vue-loader ,可以识别不同的语言块,script输出到babel-loader,模块输出到vue的vue-template-loader,该loader能够将模板转换成JavaScript的render函数。

Vue.runtime.js

被称为vue运行时构建版本,包含了Vue所有的特点,体积比全功能版本小20kb。默认情况下使用的是运行时构建版本,所以当你使用 import vue from 'vue' 来引用Vue的时候,你得到的是运行时构建版本,不过你能通过 alias 配置项来改变。

production环境中去掉warn 和error信息

`if(process.env.NODE_ENV !== 'production') {   warn(("Error in " + info + ": \"" + (err.toString()) + "\""), vm);}`

从这里可以看出来,如果process.env.NODE_ENV 设置成production,那么提示信息在编译过程中就会被忽略,

DefinePlugin

通过它来设置process.env.NODE_ENV的值,

使用UGlifyJsPlugin

减小代码体积,去掉不必要的代码块。

if (process.env.NODE_ENV === 'production') {             module.exports.plugins = (module.exports.plugins || []).concat([               new webpack.DefinePlugin({                 "process.env": {                   NODE_ENV: '"production"'                 }}),               new webpack.optimize.UglifyJsPlugin()             ])        }

Vendor file

Common Chunks插件能把你的Vendor代码(例如Vue.js这些不会经常改动的依赖包)和应用代码(每次开发过程中都会改动的代码)分离开。

你能配置插件检查一个依赖是否来自于node_modules,如果是,那就打包到vendor.js 文件。

hash

,也被称为指纹 当文件变动后,丢弃缓存,默认情况下,只有当一个缓存文件过期,或者用户手动清除缓存,浏览器才会重新从服务器请求文件,如果服务器提示文件已经改动,那文件才会重新被下载(如果返回304则不会)。为了避免不必要的请求,我们可以在每次文件内容改动时,改变文件的名字,从而强制浏览器重新下载,通过在文件名称后面添加一个"指纹":hash,我们可以非常容易达到这个目的。

output: {             filename: '[name].[chunkhash].js'            },

HTML Webpack Plugin

这个插件能在构建过程中自动在你的HTML文件里插入对构建文件的引用。

先来把构建文件中的引用去掉

new HtmlWebpackPlugin({         filename: 'index.html'         template: 'index.html',         inject: true,         chunksSortMode: 'dependency'        })

转载地址:http://bcbvx.baihongyu.com/

你可能感兴趣的文章
恶心的Oracle的if else if...
查看>>
你知道怎么选择适合自己的服务器吗??
查看>>
【09】Java 内存模型
查看>>
Fsutil文件的具体用法
查看>>
cisco3560三层交换实现vlan间相互访问
查看>>
什么是 stack?- 每天5分钟玩转 Docker 容器技术(111)
查看>>
(转)自己动手搭建SSH框架!
查看>>
java.net.SocketException: Too many open files
查看>>
linux之 continue break
查看>>
7月第3周邮件通信网站综合排行Top10:163居首
查看>>
Objective-C 对字符串数组排序
查看>>
PySide集成开发环境下载安装配置
查看>>
8,mysql存储过程和存储函数
查看>>
Git常用命令查询 ;
查看>>
提高代码质量:如何编写函数
查看>>
linux的安装RPM包或者安装源码包
查看>>
MYSQL 字符集问题
查看>>
linux 笔记本的温度提示
查看>>
【转载】nginx反向代理(proxy_pass)tomcat的过程中,session失效的问题解决
查看>>
Redis各个数据类型的使用场景
查看>>