我目前正在构建一个使用NodeJS的JavaScript项目,一些对象在客户端和服务器端共享。 我试图在节点上使用模块系统但我在浏览器上找不到合适的节点模块实现。 目前我的测试架构是这样的:
Framework.js(只是创建一个公共名称空间和整个框架应该知道的一些函数。它位于名为Shared的文件夹中)
var Framework = {};
exports.Framework = Framework;
Module.js(负责特定部分的框架的一部分)
var fw = require('../Shared/Module.js');
fw.Module = function() {};
exports.Framework = fw;
这些模块一直在继续。 我尝试使用Web上的简单common.js实现,但它在模块创建的范围上有一些错误。我也尝试了这篇文章http://caolanmcmahon.com/posts/writing_for_node_and_the_browser上显示的想法虽然它不起作用,因为我必须要求我的模块中的基础对象在浏览器上不起作用。
我应该如何构建这个代码,以便我可以在不同的文件中组织我的代码,在服务器和浏览器中使用不同的文件(其中一些)?
答案 0 :(得分:2)
有一些JavaScript模块库可以在浏览器和Node上运行。一个例子:RequireJS:
RequireJS是一个JavaScript文件和模块加载器。它经过优化 在浏览器中使用,但它可以在其他JavaScript环境中使用, 像Rhino和Node。