使用requirejs与节点

时间:2015-06-25 01:58:06

标签: javascript node.js requirejs

我目前正在开发服务器端Node项目。虽然节点有自己的模块加载器使用CommonJS我评估是否使用RequireJS。虽然如果应用程序具有一些客户端方面,将RequireJS与Node一起使用是有好处的,但我无法为完全服务器端的项目找到任何好处。

通常认为对于100%服务器端Node项目,合并RequireJS没有真正的优势吗?

2 个答案:

答案 0 :(得分:0)

我从来没有找到在节点中使用RequireJS的充分理由。但是,RequireJS can be run on node和文档简要说明了您可能希望在节点服务器上运行RequireJS的原因:

  

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

大多数情况仅在具有客户端元素的项目中有用。如果是我,我会坚持Node's internal module loader

答案 1 :(得分:0)

使用RequireJS服务器端存在原因,但它们很少。除非你能说出理由,比如:

  

必须使用RequireJS,因为X

其中“X”是证明使用RequireJS的理由,那么你就不应该这样做。

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

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