如何在nuxt中引入moment

2,631 阅读1分钟

最近用NUXT做前端项目,需要引入一个时间插件moment,搜了一下,大家都是通过在每个组件中引用一次这样import moment from 'moment'来用的,感觉比较麻烦。自己试了一下,其实可以直接通过NUXTL的plugins 来直接全局引用的。具体的实现方法如下:

1. 安装 moment包 mpn i moment

2. 在nuxt.config.js配置文件中的plugins选项中添加:

  plugins: [
    '@/plugins/moments'
    ...
    ]

3. 在plugins文件夹下面新建文件moments.js

文件内容如下:

// 全局加载组件
import Vue from 'vue'
import moment from 'moment'
import 'moment/locale/zh-cn'

// 使用中文时间
moment.locale('zh-cn')
Vue.prototype.$moment = moment

我的项目是用了 antd vue的ui的,所以我就写在一起了,如果你也用了UI框架,可以都写在一起,我的参考如下:

// 全局加载组件
import Vue from 'vue'
import Antd from 'ant-design-vue/lib'
// import 'ant-design-vue/dist/antd.css'
import moment from 'moment'
import 'moment/locale/zh-cn'

// 使用中文时间
moment.locale('zh-cn')
Vue.prototype.$moment = moment

Vue.use(Antd)

4. Vue组件内使用

跟在常规的使用方法一致: this.$moment().format('YYYY-MM-DD')