• 我转过几个弯 绕过那个小雨楼
  • 拿着蒲扇摆着衣衫渡着紧箍咒
  • 不问天涯不停留 喝过几壶酒
  • 不过年少白头道义放胸口
  • 倘若明天之后 遥看前尘剑封侯
  • 似那天上神仙无所求
  • 朝朝暮暮君如梦醒十分不为何理由
  • 是真是假是惶恐是无休
  • 路过这风雨花满楼 片刻都不停留
  • 我本这书生进京赶考留下许多愁
  • 你问有没有时候 我叹这天道默悠悠
  • 能否与我一醉方休
  • 又过了几个弯 算尽天量道莫慌
  • 踏这田园闻这芳草香
  • 跌跌撞撞仗剑天涯折煞不枉无笔良
  • 是梦是幻是温柔是家乡
  • 路过这风雨花满楼 片刻都不停留
  • 我本这书生进京赶考留下许多愁
  • 你问有没有时候 我叹这天道默悠悠
  • 能否与我一醉方休
  • 路过这风雨花满楼 片刻都不停留
  • 我本这书生进京赶考留下许多愁
  • 你问有没有时候 我叹这天道默悠悠
  • 能否与我一醉方休
  • 谁能与我一醉方休

nuxt 按需加载moment.js

204 0

由于moment属于纯js,他不需要window对象,所以我们有两种方式在nuxt中调用它。

传统引入

第一种:plugins

在plugins目录下创建一个moment.js文件,内容如下:

import Vue from "vue";
import moment from "moment";
import 'moment/locale/zh-cn';

moment.locale("zh-cn"); //汉化
Vue.prototype.$moment = moment;

我们将它挂载到vue上,然后再打开nuxt.config.js文件,引用插件

nuxt.config.js:

export default {
    plugins: [
        '@/plugins/moment', //moment.js
    ]
}

这样我们就可以通过this上下文获取到moment

第二种:import

制作一个插件还挺费事的,如果只是个别地方使用,也可以不使用插件,我们在对应的vue文件中直接引入

< template >
  ...
</template> 
<script >
import moment from "moment";
import "moment/locale/zh-cn";
moment.locale("zh-cn"); //汉化
export default {

}; 
</script>

这样也行,但是这两种方法并不是按需引入,他们会引入所有的语言文件,导致moment的包非常大!

未按需引入前,所有语言文件被加载,moment大小在600多kb,压缩后200多kb,而按需引入语言文件后,moment在200kb以下,压缩后60kb出头,这个比率还是很大的。

所以,按需引入,我觉得非常有必要,但是目前并没有人分享教程。于是我来了。

示例图

未按需引入:

按需引入:

按需引入

引入的方式还是按照上面的写法,我们需要改动的是nuxt.config.js文件,就以第一种为例子,第二种就不多说了,代码都一样。

nuxt.config.js:

import webpack from 'webpack'
export default {
    plugins: [
        '@/plugins/moment', //moment.js
    ],
    build: {
      plugins: [
        new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/),
      ]
    }
}

这样就行了,效果很棒!

0
  • 本文分类:nuxt
  • 本文标签:按需引入momentnuxt
  • 流行热度:已超过 204 人围观了本文
  • 最后更新:2021年03月18日 - 15时20分42秒
  • 发布日期:2021年03月18日 - 15时20分42秒
  • 版权申明:本文系作者@木灵鱼儿原创发布在木灵鱼儿 - 有梦就能远航站点。未经许可,禁止转载。

相关文章

微信收款码
微信收款码