簡體   English   中英

npm 項目中的無參數 nodemon 命令不會從 package.json 運行“main”的值

[英]Argumentless nodemon command in npm project does not run value of "main" from package.json

我有一個具有以下文件夾結構的 npm 項目:

project
├── node_modules
│   └── (node_modles folders)
├── server.js
├── index.js
├── index.html
├── package.json
└── package-lock.json

我的index.js是這個小 Web 應用程序的前端 JavaScript 代碼。 我的server.js是后端。 我正在使用 nodemon(版本 2.0.16)來運行我的server.js文件,這是一個簡單的 Express 應用程序:

const express = require('express');
const app = express();
app.listen(4000, () => {console.log('Listening on port 4000')})

為了運行我的服務器,我在終端中運行nodemon server.js ,我的 Express 應用程序運行正常。 但是,Nodemon 文檔說:

如果您的應用程序有 package.json 文件,則可以完全省略主腳本,nodemon 將讀取 package.json 的 main 屬性並將該值用作應用程序( ref )。

所以,我想如果我的package.json文件看起來像這樣

{
  "main": "server.js",
  "dependencies": {
    "express": "^4.18.1"
  }
}

那么我應該能夠只運行nodemon而不是nodemon server.js ,並且一切都應該正常工作。 然而,這種情況並非如此。 當我使用此設置簡單地運行nodemon時,它顯然是在嘗試運行我的index.js文件,而不管我的package.json文件中的"main"是什么。 誰能解釋為什么在這種情況下我不能只運行沒有參數的 nodemon ?

看來,如果我刪除index.js ,運行 no-argument nodemon命令會按預期工作。 但是,如果在項目的根目錄中有一個名為index.js的文件,那么無論我在package.json中為"main"添加什么內容,該文件都會運行。

我不確定這是否按設計工作,或者是否打算像這樣忽略“主要”值。 我在文檔中找不到優先級。

暫無
暫無

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

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