我目前正在开发服务器端Node项目。虽然节点有自己的模块加载器使用CommonJS我评估是否使用RequireJS。虽然如果应用程序具有一些客户端方面,将RequireJS与Node一起使用是有好处的,但我无法为完全服务器端的项目找到任何好处。
通常认为对于100%服务器端Node项目,合并RequireJS没有真正的优势吗?
答案 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环境中是有意义的。