Предупреждение MomentJS в приложении Vue после импорта из веб-пакета - PullRequest
0 голосов
/ 22 декабря 2018

После небольшого поиска я обнаружил, что все сообщения, касающиеся этого предупреждения, были вызваны использованием MomentJS, но в моем случае это предупреждение отображается после импорта его в мой файл main.js, даже не начав использовать его дляв первый раз, я даже не добавил ни "new Date ()", ни вызова в любой момент в какой-либо части моего кода.

Это целое предупреждение, которое я получаю:

Deprecation warning: value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.
Arguments: 
[0] _isAMomentObject: true, _isUTC: false, _useUTC: false, _l: undefined, _i: function Vue (options) {
  if ("development" !== 'production' &&
    !(this instanceof Vue)
  ) {
    warn('Vue is a constructor and should be called with the `new` keyword');
  }
  this._init(options);
}, _f: undefined, _strict: undefined, _locale: [object Object]
Error
    at Function.eval [as createFromInputFallback] (webpack-internal:///./node_modules/moment/moment.js:320:98)
    at configFromInput (webpack-internal:///./node_modules/moment/moment.js:2606:19)
    at prepareConfig (webpack-internal:///./node_modules/moment/moment.js:2577:13)
    at createFromConfig (webpack-internal:///./node_modules/moment/moment.js:2544:44)
    at createLocalOrUTC (webpack-internal:///./node_modules/moment/moment.js:2631:16)
    at createLocal (webpack-internal:///./node_modules/moment/moment.js:2635:16)
    at hooks (webpack-internal:///./node_modules/moment/moment.js:12:29)
    at Function.Vue.use (webpack-internal:///./node_modules/vue/dist/vue.esm.js:4850:14)
    at eval (webpack-internal:///./src/main.js:51:46)
    at Object../src/main.js (http://localhost:8080/app.js:14037:1)

То, как я добавил momentJS в свой проект, было выполнено:

npm i moment -D

Затем в main.js у меня есть следующее:

import * as Moment from 'moment'

Vue.use(Moment)

window.app = new Vue({
    el: '#app',
    router: Router,
    store: store,
    render: h => h(App)
})

Я знаю, что это предупреждение, но раздражает, когда оно появляется на каждой странице.Было бы неплохо избежать этого.

Есть какие-нибудь подсказки?Заранее спасибо.

1 Ответ

0 голосов
/ 22 декабря 2018

Вы, вероятно, не хотите передавать moment в Vue.use().use() будет рассматривать это как плагин (как задокументировано здесь ) и будет пытаться вызвать его, передавая Vue в качестве аргумента, что, конечно, moment не приведет к недопониманию.Это наиболее вероятно, почему вы получаете эту ошибку.Если вы хотите плагин Vue моментальный, есть один здесь .Если вы просто хотите moment, нет причин передавать его на use.

...