如何在设置后将 Express.js 用于新的 Web 应用

How do I use Express.js for a new web app after setup?

本文关键字:用于 Web 应用 js Express 设置      更新时间:2023-09-26

我已经为hello world应用程序安装了Express,并且运行良好。现在我想创建一个新应用程序,我怎样才能为该新应用程序使用已安装的 Express,而不是为该新应用程序重新安装它: npm install express还是每次创建新应用程序时都必须从互联网重新安装它?

npm install express

。将仅将 Express 安装到终端中的当前文件夹路径中。如果要为所有 Node.js 实例安装包,则需要运行:

npm -g install express 

或者,根据服务器的安全模型,

sudo npm -g install express

有时,如果链接失败,则需要链接包(您将收到"找不到模块 X"错误(,如下所示:

sudo npm link express

如果你想阅读更多关于它的信息,这篇博文是一个很好的阅读。

使用 npm install -g express

但是值得将 express 添加到您的 package.json 中以及您需要的其余(未来(依赖项,因此您可以在项目的根目录中键入 npm install,它将自动安装具有指定版本的所有依赖项,依此类推。

不要全局安装 Express

在本地安装您将要依赖的任何软件包通常被认为是 Nodejs 社区中的最佳实践。它归结为管理依赖项。

请参阅:Nodejs 博客 - NPM 1.0:全局与本地安装

请考虑以下方案:

假设您为第一个项目执行了 Express 的全局安装。您开始使用最新版本的库,一切顺利。然后随着时间的推移,您再编写 10 个依赖于该安装的应用程序。最终,Express推出了下一个主要版本,并添加了一些杀手级功能,但他们也引入了一些向后不兼容的API更改。您需要为新项目使用最新版本,但全局更新可能会破坏您以前创建的所有应用程序。

在最好的情况下,您将对所有旧项目进行 100% 的测试覆盖,通过努力工作和决心,您最终将设法更新/修复更新中断的所有内容。

实际上,没有人对所有内容都有 100% 的测试覆盖率,并且很可能会错过更新中断的内容并意外地推送到生产中。 ::畏缩::

我刚才概述的场景是很多人所说的依赖地狱。这是某些组织被锁定在框架/应用程序/dll 的特定版本中的常见原因。

使用 nodejs,为每个项目单独处理依赖项既便宜又容易。模块通常不像你期望的其他语言的框架那样单一(阅读巨大(。

要使用依赖项在本地安装 Express,只需使用:

npm install express --save

注意:--save 标志会自动将 Express 和版本号添加到您的 package.json 文件中。如果您希望将模块标记为 devDependencies 列表,请使用 --save-dev 标志。

规则的例外情况:

"不在本地安装"规则的例外情况是 CLI 应用程序。很少有人会编写依赖于 CLI 应用程序的代码,即使他们这样做了,CLI 应用程序也只是表面上公开最高阶函数。除非 CLI 具有项目所依赖的开发 API,否则全局安装包可能更安全且更方便。

旁白:库开发人员的观点

随着库的更新和改进,库开发人员在主要版本(例如 1.0、2.0、3.0(之间更改 API 的情况并不少见,因为他们对一切应该如何构建有了更好的感觉。当引入向后不兼容的更改时,人们会指责并开始争论"糟糕的设计"的情况并不少见。这些问题中的大多数与所使用的库的设计无关。相反,它们是实现它们的开发人员设计和版本管理不佳的原因。

事情的真相是,在大部分代码已经被更大的社区实现并投入使用之前,不可能预见到库的最佳设计。最好的项目是那些有机增长的项目,拥有庞大的用户群,提供大量有价值的反馈,并随着时间的推移适应用户的需求。

对于库开发人员来说,主要版本通常是最激动人心的时刻,因为这是我们真正发布突破性更改的地方。介于两者之间的所有版本仅用于无聊的维护和错误修复。

Nodejs 的最大好处之一是它的核心很小。Javascript语言本身定义良好,因此对核心的更新几乎没有机会破坏任何代码。Nodejs 的第二大好处是包管理器和通用的 package.json 项目文件格式使管理依赖版本尽可能简单明了。

来源:我开发库,并花费大量时间思考好的 API 设计。