3

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

我来自 java 背景,在 java 中,我会在打包过程中创建一个单独的“通用”项目并在我的项目上“覆盖”通用 WAR。这也将允许在构建过程中进行 r.js 优化。

我在 Node 中的最佳猜测是我需要创建一个私有 NPM 模块,并通过use()中间件插件将这些通用文件映射到 express 中。那正确吗?

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

或者是源代码控制的答案?在每个项目中检查我的“通用”存储库?

非常感激任何的帮助。谢谢。

4

1 回答 1

3

这似乎是一个非常普遍的问题,因此必须已经有几种可用的解决方案。

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

坏消息:所有的“解决方案”至少部分是糟糕的。

这是我的建议:

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

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

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

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

3C)或考虑类似component.io组件

于 2013-10-18T16:41:29.027 回答