vue.js - Vuejs - 无法解析 'app/src' 中的 'moment' | 在项目克隆和 npm install 之后
问题描述
我克隆了一个现有的 Vuejs 项目并进行了“npm install”。除了“moment”和“vue-moment”之外,一切都安装得很好。
我有这个错误:
Failed to compile.
./src/main.js
Module not found: Error: Can't resolve 'moment' in '/app/src'
所以用“npm install --save moment vue-moment”安装它们
并且仍然得到错误。
这是我的 main.js 文件的一些代码:
import moment from 'moment'
import VueMoment from 'vue-moment'
// Vue use moment.js
Vue.use(VueMoment, {
moment
});
moment.locale('fr');
这些包已安装并存在于 node_modules 文件夹中,也存在于 package.log.json 和 package.json 中。
奇怪的是,当其他人克隆这个项目时,他们没有问题。只有我...
一个(可能)pist,是当我将鼠标悬停在(导入的)“时刻”时,我看到了这个:.../node_modules/moment/moment 就像有 2 个时刻文件夹,但它在 node_modules 中看起来很正常文件夹。
提前致谢!
编辑解决:
问题是因为我在前面使用“docker-compose up”而不是“npm run serve”来启动项目。它开始了,但我遇到了这个“时刻”问题。现在它可以很好地与良好的控制台代码一起启动项目......
解决方案
您不能将 import 函数与 moment.js 一起使用,因为未为该模块定义导出。所以你必须使用require。你可以这样做 :
Vue.use(require('vue-moment'));
如果你真的想通过 import 使用 moment.js,你也可以这样做。
import * as moment from 'moment';
推荐阅读
- java - Java InputStream 读取语言环境依赖?
- javascript - 检查通过重新布线可见的(私有/非导出)函数上的方法调用
- primefaces - 一般如何使用 PrimeFaces 的 PrimeIcons
- ionic-framework - 离子 - BarcodeScanner .scan 不是函数
- php - 如何使用 php eval() 求解带有垂直线 (|) 的数学方程
- mongodb - 如何对数组中的所有元素求和
- node.js - 调用对象的构造方法时触发/捕获事件
- r - 将 DD-MM 字符转换为日期
- javascript - vimeo-player 设置当前时间后跳转到 00:00
- reactjs - 使用本机反应从嵌套列表中删除行