Nuxt.js:客户端插件

时间:2018-07-16 07:54:25

标签: javascript vue.js nuxt.js

我正在尝试将moment.js集成到我的Nuxt项目中。我不断收到此错误,但我很难解决:

  

渲染错误:“ TypeError:_vm。$ moment不是函数”

我正在将该模块实现为插件。

in 〜/ plugins / moment.js:

import Vue from 'vue';
import * as moment from 'moment';

Vue.use(moment);

export default ({ app }, inject) => {
    app.moment = moment;
    inject('moment', moment);
};

in nuxt.config.js:

module.exports = {
    ...
    plugins: [
        { src: '~/plugins/moment.js', ssr: false },
    ],
};

in 〜/ pages / Page.vue:

<template>
    <div>
        {{ $moment(new Date()).format('YYYY-MM-DD') }}
    </div>
</template>

它似乎在客户端上运行良好,我得到了预期的结果。刷新页面时,我通常会收到错误消息,因此我怀疑这与nuxt无法在服务器上呈现模板有关。然后,我尝试通过将div包装在no-ssr组件中来解决此问题,但无济于事。

非常感谢您的帮助,谢谢!

0 个答案:

没有答案