将requirejs与node一起使用

using requirejs with node

本文关键字:一起 node requirejs      更新时间:2023-09-26

我目前正在处理一个服务器端Node项目。虽然node有自己的模块加载器,使用CommonJS,但我正在评估是否将RequireJS与之一起使用。虽然如果应用程序具有一些客户端方面,那么将RequireJS和node一起使用会有好处,但对于一个完全是服务器端的项目,我找不到任何好处。

人们是否普遍认为,对于100%的服务器端Node项目,合并RequireJS没有真正的优势?

使用RequireJS服务器端的原因是存在的,但很少。除非你能说明原因,比如:

必须使用RequireJS,因为X

如果"X"是使用RequireJS的正当理由,那么您不应该这样做。

请注意,仅仅想以AMD格式写入模块是不够的,因为存在允许在node中加载AMD模块的加载程序(如node amdl加载程序)。实际上,当我想测试不依赖于浏览器的代码时,我会使用它。我以AMD格式编写模块,并指定如果在Node中使用,则应使用类似Node AMD加载器的AMD加载器。通过这种方式,库在节点和浏览器中都可以工作,但我在节点中对其进行了测试。

使用RequireJS服务器端的一个原因是,例如,如果您需要运行需要DOM实现的代码。如果您使用类似于jsdom的东西来提供DOM,并且要加载的代码是一系列AMD模块,那么使用RequireJS将代码加载到由jsdom创建的DOM环境中是有意义的。

我从来没有找到在节点中使用RequireJS的好理由。然而,RequireJS可以在节点上运行,文档中简要解释了为什么您可能希望在节点服务器上运行RequireJS

通过在服务器上使用RequireJS,您可以使用一种格式模块,无论它们是在服务器端还是在浏览器中运行。那个保持速度优势和轻松调试的方式在浏览器中使用RequireJS,不必担心额外的在两种格式之间移动的翻译成本。

其中大部分内容仅在具有客户端元素的项目中有用。如果是我,我会坚持使用Node的内部模块加载程序。