如何跨NodeJS项目共享常见的客户端JavaScript?

时间:2013-10-18 16:20:26

标签: node.js web-applications express npm r.js

我是一个Node n00b使用Express启动一些Web应用程序项目,我有一些常见的客户端库,我想在这两个项目之间共享。这似乎是一个非常常见的问题,因此必须有几种解决方案。

我来自java背景,在java中,我会在打包期间为我的项目创建一个单独的“公共”项目和“覆盖”常见WAR。这也将允许在构建过程中进行r.js优化。

我在Node中的最佳猜测是我需要创建一个private NPM module,并通过use()中间件插件将这些常用文件映射到express。是吗?

那么,如何使用r.js将我的常用javascript和项目特定的javascript打包到一个缩小的文件中?

或源控制是答案吗?检查每个项目中的“通用”存储库?

任何帮助都将非常感激。感谢。

1 个答案:

答案 0 :(得分:3)

  

这似乎是一个非常常见的问题,因此必须有几种解决方案。

好消息:是的,这是一个常见问题。是的,有几个“解决方案”。

坏消息:所有“解决方案”至少部分可怕。

这是我的建议:

1)单个.js文件应编码为CommonJS模块

2)应将相关的.js文件组制作成npm包

3A)通过常规node.js / CommonJS require函数在节点中使用它们,并使用browserify在浏览器中使用它们

3B)或者使用像grunt这样的构建工具将commonjs包装成AMD格式,以便在浏览器中与requireJS一起使用

3C)或考虑类似component.io components

的内容