2014-09-23 87 views
2

在我的Node項目的目錄中輸入npm start後,我看到紡紗管符號顯示npm正在加載。但是,此圖形無限期顯示,沒有任何反應。沒有提供錯誤消息。我如何修復或至少診斷此問題?命令`npm start`不執行任何操作

的package.json如下:

{ 
    "name": "Project_Name", 
    "version": "0.0.1", 
    "private": true, 
    "main": "./bin/www", 
    "scripts": { 
    "start": "node ./bin/www" 
    }, 
    "dependencies": { 
    "express": "~4.2.0", 
    "static-favicon": "~1.0.0", 
    "morgan": "~1.0.0", 
    "cookie-parser": "~1.0.1", 
    "body-parser": "~1.0.0", 
    "debug": "~0.7.4", 
    "jade": "~1.3.0", 
    "request": "~2.39.0", 
    "oauth-1.0a": "~0.1.1", 
    "passport": "~0.2.0", 
    "express-session": "~1.7.2", 
    "passport-local": "~1.0.0", 
    "connect-flash": "~0.1.1" 
    } 
} 

我懷疑,缺少的依賴可能是一個問題,但是這似乎並沒有成爲一個問題。我跑了npm-install-missing模塊,得到了以下結果:

enter image description here

+0

請發表您的'package.json'及任何其他相關文件。 – Scimonster 2014-09-23 14:28:28

+1

這是我的package.json:https://gist.github.com/anonymous/2aafa5bfeb84b5be4b99 – hawkharris 2014-09-23 14:33:53

+1

你的'start'腳本沒有調用JS文件......它應該不是這樣的:'「start」:「node ./bin/www/server.js「' – mccannf 2014-09-23 14:49:10

回答

2

問題曾與依賴性有關。首先,我安裝了npm-install-missing模塊,瞭解應用程序的依賴關係:

npm install -g npm-install-missing

在安裝模塊,我可以運行它,看看哪些依賴需要更新:

npm-install-missing

的結果在上面的問題中顯示爲屏幕截圖。你會注意到express-session,crypto-jspassport是紅色的。我需要安裝這些模塊的預期版本:

npm install -g [email protected]

npm install -g [email protected]

npm install -g [email protected]

安裝依賴關係之後,我又跑npm start。該應用程序出現在localhost:3000

+1

我已經這樣做了,但沒有結果 – learner 2015-07-28 16:09:51

5

1-您必須安裝連接和服務器靜電模塊

npm install connect serve-static 

2 - 你必須創建一個包含server.js文件:

var connect = require('connect'); 
var serveStatic = require('serve-static'); 
connect().use(serveStatic(__dirname)).listen(8000); 

3-運行命令:

node server 

4-用於測試在nodejs目錄中添加一個HTML文件(index.html)

5打開瀏覽器,並把:

http://localhost:8000/index.html

服務器正在運行,並且您的網頁HTML是dipalyed

0

其實只要您運行npm start

它運行一個包的「開始」腳本,如果有的話。如果沒有指定版本,則啓動「活動」版本。

因此,NPM看你的package.json文件應具有類似

「開始」: 「的WebPack-DEV-服務器--hot」

然後它會做那。如果NPM無法找到你的啓動腳本,則默認爲:

節點server.js