localhost:3000拒絕連接,npm:missing script: start


使用express進行自動化創建的時候,3000端口打不開。

腳本確定沒有問題。教程上最后一步是直接在命令行輸入:gulp 再在瀏覽器上輸入:localhost:3000就可以連接。

然而我在輸入gulp后沒有報錯,但是瀏覽器一直顯示拒絕連接。

根據網上查詢的資料,可能是沒有添加app.listen(3000)這一句。在腳本添加后仍然無法連接3000端口。

考慮到可能是服務器沒有打開。

於是在根目錄下執行:npm start

報錯:missing script: start

經過排查發現必須在包含start設置的腳本的目錄下執行才有效。例如我的start設置在package.json中,而package.json在server文件夾下,所以我應當進入server目錄后再執行npm start

啟動后

提示:Port 3000 is already in use

但是通過netstat -ano | findstr: 3000命令沒有找到占用3000端口的程序。

最后發現是腳本中設置監聽端口的語句出現了兩次:一次是app.listen(3000), 一次是server.listen(3000)

刪除app.listen(3000)這條語句后,重新執行npm start,再打開瀏覽器就可以連接3000端口了。

總結:

3000端口拒絕連接原因可能出現在兩個方面:一是服務器沒打開,二是3000端口被占用

在本次問題的解決中,打開服務器要使用npm start命令,直接gulp不管用。

3000端口被占用卻找不到占用程序是因為在腳本中設置了兩次listen語句,刪除其中一條即可。

另外npm報錯:missing script: start

如果在腳本中已設置:

"scripts": {
    "start": "node ./bin/www"
  },

那么很有可能是執行命令的目錄不對。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM