【发布时间】:2011-09-13 03:10:59
【问题描述】:
我目前正在构建一个使用 NodeJS 的 JavaScript 项目,并且一些对象在客户端和服务器端之间共享。 我试图在节点上使用模块系统,但在浏览器上找不到合适的节点模块实现。 目前我的测试架构是这样的:
Framework.js(只是创建一个通用命名空间和整个框架应该知道的一些功能。它位于名为 Shared 的文件夹中)
var Framework = {};
exports.Framework = Framework;
Module.js(框架中负责特定部分的部分)
var fw = require('../Shared/Module.js');
fw.Module = function() {};
exports.Framework = fw;
这些模块不断出现。 我尝试使用在网络上找到的简单 common.js 实现,但它在模块创建的范围内有一些错误。我也尝试了这篇文章http://caolanmcmahon.com/posts/writing_for_node_and_the_browser 中显示的想法,尽管它不起作用,因为我必须在我的模块中要求基础对象,这在浏览器上不起作用。
我应该如何组织这段代码,以便我可以组织在不同文件上具有不同模块的代码,以便在服务器和浏览器中使用(其中一些)?
【问题讨论】:
-
使用browserify打包node模块并处理依赖。至于架构看ExpressArchTest
-
@filaruina 也有同样的问题,browserify 和 requirejs 要么太复杂,要么使用了稍微不同的 api。我把 tiny-require.js 放在一起,这几乎是 node.js 对浏览器的要求。
标签: javascript node.js module