gpt4 book ai didi

node.js - node.js 中 app.js、index.js 和 server.js 的约定?

转载 作者:IT老高 更新时间:2023-10-28 22:01:25 28 4
gpt4 key购买 nike

在 node.js 中,我似乎遇到了相同的 3 个文件名来描述应用程序的主要入口点:

  • 使用 express-generator 包时,会创建一个 app.js 文件作为生成应用的主要入口点。
  • 通过 npm init 创建新的 package.json 文件时,系统会提示输入主入口点文件。默认为 index.js
  • 在我见过的一些程序中,server.js 也是主要入口点。

在其他时候,它们的用法似乎仍然存在细微差别。例如,这个 Node 应用目录结构在不同的上下文中使用了 index.jsserver.js:

app
|- modules
| |- moduleA
| | |- controllers
| | | |- controllerA.js
| | | +- controllerB.js
| | |- services
| | | +- someService.js
| | +- index.js <--------------
| +- index.js <-------------------
|- middleware.js
+- index.js <------------------------
config
+- index.js <------------------------
web
|- css
|- js
server.js <----------------------------

这三个名称之间有什么区别(如果有的话)?

最佳答案

即使您可以随意调用文件,调用入口点 index.js 或 server.js 也有优势

为什么选择 index.js:当您发出 npm init 时,它会将模块的主入口点设置为 index.js。有些人不更改它,因此他们最终将其主要入口点命名为 index.js。这意味着少做一件事情。

为什么选择 server.js:如果您的 Node 包不会被另一个包使用,而是一个独立的应用程序,那么如果您调用主入口点 server.js,那么您可以发出 npm start 并启动你的应用程序。 npm start 默认会运行你的 server.js 文件。要更改此行为,请在 package.json 中提供 start 脚本。如果存在 start 脚本,npm start 将运行该脚本。

app.js 只是一种约定——它的唯一优点是某些 IDE(例如 Visual Studio Code)将默认将 app.js 作为您调试程序的入口点。这样,当使用最常见的框架 Express 时,它会创建一个 app.js 文件,“它就可以工作”

关于node.js - node.js 中 app.js、index.js 和 server.js 的约定?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36002413/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com