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