【发布时间】:2014-09-24 00:57:51
【问题描述】:
使用javascript在前端和后端之间共享代码的最佳方式是什么,特别是在nodejs和angularjs之间?
问题是我们在后端和前端都使用了相同的enums 和constant values,例如error codes。现在我们只是将每个更改复制并粘贴到两个平台,这不是一个好的解决方案。还有一些服务可以共享。
我见过browserify之类的库;但这不正是我要找的。我正在寻找类似于java 中的maven dependency 的解决方案。在java 中,可以使用maven 轻松共享库,而我在javascript 中找不到类似的方法。
有没有办法隔离这些服务,并使用npm 独立地将它们作为对nodejs 的依赖,以及使用bower 独立使用angularjs 的依赖关系?或者前后端共享相同代码的方式有哪些?
【问题讨论】:
-
browserify 允许您在客户端使用常用的 js 模块。这与复制和粘贴完全不同。
-
如果你想要比 browserify 更简单的东西,我觉得这可以用 RequireJS 解决。我同意@tkone,browserify 不是复制/粘贴。当然,它是将您的公共库复制到另一个文件中,但这相当于说编译代码是将源代码复制/粘贴到二进制文件中。
-
@tony 甚至没有复制。就是那个 ACTUAL 文件。
require填充到浏览器中,允许使用相同的确切代码。它甚至可以执行熟悉的function(__dirname,...包装该节点的操作(因为它让节点为您执行此操作!)。
标签: javascript node.js angularjs npm bower