簡體   English   中英

啟動腳本不適用於 npm start,但適用於 node server.js

[英]start script not working with npm start, but works fine with node server.js

我已經被困在一個問題上很長一段時間了,似乎無法弄清楚我做錯了什么。 當我 cd 進入我的項目的 src 文件夾並運行 node server.js 時,一切都按預期工作。 我可以使用 http://localhost:3000/client/pantry/index.html 在 localhost 上打開應用程序。 但是,當嘗試在 package.json 中創建啟動腳本時,我遇到了一些問題。 我的腳本確實連接到服務器,因為我在控制台“服務器正在偵聽端口 3000”中從這段代碼中收到一條消息: app.listen(port, () => { console.log(服務器正在偵聽端口 ${port } ); }); ,但是當我轉到 http://localhost:3000/client/pantry/index.html 時,我收到 404(未找到)響應並且頁面未加載。
這是我已經嘗試過的事情的列表:

  1. 刪除節點模塊文件夾並運行 npm install
  2. ` “腳本”:{

“開始”:“節點 src/server.js”

}`

這還包括我能想到的幾乎所有文件夾結構組合(即:“start”:“node ./src/server.js”、“start”:“node ../src/server.js”、“start” : "node ./../server.js", "start": "node server.js", 相對路徑, 完整路徑等)

  1. 使用 npm start 和 npm run start 從 src 目錄運行腳本
  2. 使用 npm start 和 npm run start 從項目目錄(“MyPantry”)運行腳本
  3. 重新安裝節點

我認為問題可能是:

  1. 文件夾結構有問題
  2. 一些僅適用於啟動腳本的中間件問題。 我正在使用app.use("/client", express.static("client")); ,在我的 server.js 文件中,允許訪問 web 上的客戶端文件夾。 (再一次,在沒有啟動腳本的情況下與 node server.js 一起工作)。
    下面是文件夾/文件結構以及 404 錯誤、package.json 和帶有/不帶有啟動腳本的 Web 視圖的圖片:

文件夾結構和 404 錯誤

包.json 文件

帶有啟動腳本的 Web 視圖

沒有啟動腳本 vvv 在終端中運行節點 server.js 的 Web 視圖

完整的 packageg.json非常感謝任何幫助!

我找到了解決我的問題的方法。 它確實是用於在 Web 上提供客戶端文件的中間件。 我不得不改變app.use("/client", express.static("client")); app.use("/client", express.static("./src/client")); . 現在 npm start 工作並且 node src/server.js 工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM