我以前使用moment.js
在Parse上有一些云代码。
我的main.js
文件中的第一行相关代码是:
var moment = require('cloud/moment.js');
现在在Parse-Server上,我在日志中收到以下错误消息:
Starting process with command `npm start`
> parse-server-example@1.4.0 start /app
> node index.js
module.js:471
throw err;
^
Error: Cannot find module 'moment.js'
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/app/cloud/main.js:1:76)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
有人可以告诉我发生了什么吗?
在网上阅读了相当多的内容后,我尝试了一些方法,例如:
var moment = require('./cloud/moment.js');
var moment = require('moment.js');
全部失败。
我确信文件moment.js存在于我的云文件夹下。 我还尝试安装新版本的时刻(来自:https://momentjs.com/),但无济于事。
检查package.json
文件,其中包含以下内容:
"dependencies": {
"express": "~4.11.x",
"kerberos": "~0.0.x",
"moment": "^2.17.1",
"parse": "~1.8.0",
"parse-server": "*"
},
答案 0 :(得分:2)
错误可能是由这一行引起的:
var moment = require('moment.js');
应该是:
var moment = require('moment');
第一行在文件树中查找特定文件,而不是包。第二行查找包'moment.js。'
答案 1 :(得分:0)
将moment
添加到您的package.json
文件中,让Heroku安装它,然后执行var moment = require('moment.js');
只需将此行"moment": "^2.14.1"
添加到package.json
文件的依赖项部分。
通常,您希望使用npm install --save <libraryname>
添加依赖关系,以便将其添加到package.json
文件中。
你可以这样做; npm install --save moment
作为替代解决方案。