Vue 使用中的小技巧

在 Vue 的使用过程中会遇到各种场景,当普通使用时觉得没什么,但是优化一下可以更高效更优美地进行开发。接下来就由石家庄网站建设工程师给大家分享它的使用吧。

1.路由根据开发状态懒加载

1.1 一般情况

一般我们在路由中加载组件的时候:

石家庄网站建设

当你需要懒加载 lazy-loading 的时候,需要一个个把 routes 的 component 改为 ()=>import(’@/views/login.vue’),甚为麻烦。

当你的项目页面越来越多之后,在开发环境之中使用 lazy-loading 会变得不太合适,每次更改代码触发热更新都会变得非常的慢。所以建议只在生成环境之中使用路由懒加载功能。

1.2 优化

根据 Vue 的异步组件和 Webpack 的代码分割功能可以轻松实现组件的懒加载,如:

石家庄网站建设

在区分开发环境与生产环境时,可以在路由文件夹下分别新建两个文件:

_import_production.js

石家庄网站建设

_import_development.js (这种写法 vue-loader版本至少v13.0.0以上)

石家庄网站建设

而在设置路由的 router/index.js文件中:

石家庄网站建设

这样组件在开发环境下就是非懒加载,生产环境下就是懒加载的了。

2.vue-loader小技巧

vue-loader 是处理 *.vue 文件的 webpack loader。它本身提供了丰富的 API,有些 API 很实用但很少被人熟知。例如接下来要介绍的 preserveWhitespace 和 transformToRequire

2.1用 preserveWhitespace 减少文件体积

有些时候我们在写模板时不想让元素和元素之间有空格,可能会写成这样:

石家庄网站建设

当然还有其他方式,比如设置字体的 font-size:0,然后给需要的内容单独设置字体大小,目的是为了去掉元素间的空格。其实我们完全可以通过配置 vue-loader 实现这一需求:

石家庄网站建设

它的作用是阻止元素间生成空白内容,在 Vue 模板编译后使用 _v(" ") 表示。如果项目中模板内容多的话,它们还是会占用一些文件体积的。例如 Element 配置该属性后,未压缩情况下文件体积减少了近 30Kb。

2.2 使用 transformToRequire 再也不用把图片写成变量了

以前在写 Vue 的时候经常会写到这样的代码:把图片提前 require 传给一个变量再传给组件。

石家庄网站建设

其实通过配置 transformToRequire 后,就可以直接配置,这样 vue-loader 会把对应的属性自动 require 之后传给组件。

石家庄网站建设

于是我们代码就可以简化不少。

发布了0 篇原创文章 · 获赞 0 · 访问量 12
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 游动-白 设计师: 上身试试

分享到微信朋友圈

×

扫一扫,手机浏览