2017-01-23 58 views
0

我以前使用moment.js解析了一些雲代碼。在Heroku上使用moment.js時出現問題

的代碼我main.js文件中的第一個相關的路線是:

var moment = require('cloud/moment.js'); 

現在解析的服務器上我獲取日誌中的以下錯誤信息:

Starting process with command `npm start` 

> [email protected] 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": "*" 
    }, 

回答

2

該錯誤可能是由這一行造成的:

var moment = require('moment.js');

它應該是:

var moment = require('moment');

第一行會在你的文件樹中的特定文件,而不是一套。第二行查找軟件包'moment.js'。

+0

這聽起來像你是對的。我停止收到錯誤。所以我曾經使用過一個簡單的文件,現在我正在使用一個包。非常感謝。 – Michel

+0

很高興爲您服務! –

0

添加momentpackage.json文件,並讓Heroku上安裝它,然後就去做var moment = require('moment.js');

只是這一行"moment": "^2.14.1"添加到依賴節你的package.json文件。

一般而言,您希望使用npm install --save <libraryname>來添加依賴關係,因此它將被添加到package.json文件中。

你可以做到這一點; npm install --save moment作爲替代解決方案。

+0

謝謝,但我只是檢查了package.json文件,它包含你說的(或類似的)。我剛剛編輯我的帖子以反映這一點。那麼缺少什麼? – Michel

+1

替換此行var moment = require('cloud/moment.js');通過這個var moment = require('moment');不要把它們放在一起 –

+0

這就是我所做的。我仍然得到同樣的錯誤。 var moment = require('moment.js'); 是我的文件的第一行main.js – Michel

相關問題