[英]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.