我正在尝试将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
组件中来解决此问题,但无济于事。
非常感谢您的帮助,谢谢!