我正在了解node.js和javascript前端,并且前端和后端之间共享模块/组件(在本例中为Node.js)已经成为互操作(特别是在使用React.js时)。这不是一个新的问题,但我一直未能找到一个很好的方法,以满足我目前的需要。
我想要的:
使用前端和节点后端的项目模块和子模块,在require语句中使用工作路径,并为文件/模块加载使用最少可能的bolierplate代码。希望不需要构建步骤.
例如,我有一个用于呈现HTML的react组件。当webapp处于活动状态时,在前端使用此组件,在生成html之前在后端使用该组件。这只是一个例子,主要要求如上文所述。
最好的例子是项目模块文件(不是实际测试代码):
var React = require('react'),
MyLocalSubmodule = require('path/modulename');
var ThisComponent = React.createClass({
/* ...something.... */
});
module.exports = ThisComponent;问题:
问题:是否有任何前端加载程序可以运行未包装的CommonJS模块,而无需预构建它们,并且在模块文件中没有任何样板或类似的黑客?
问:是否有一种非恶意的好方法,可以在前端和节点后端都要求具有相同名称语法的模块(var myModule =myModule(前端-后端-共享-语法))中的本地(项目)模块和子模块。
最后一个问题:,您建议的使节点/前端共享项目模块(包括子模块的使用)的最佳方法是什么?
发布于 2014-09-12 16:22:03
您可以使用Browserify按需绑定JavaScript。
有几个开放源码项目允许您这样做(例如,https://www.npmjs.org/package/browserify-middleware)。
若要在一个模块中创建具有浏览器和节点代码的模块,可以在package.json文件中指定“浏览器”属性。Browserify将使用指定的文件作为浏览器代码中的入口点,而节点将加载"main“中指定的文件。
https://stackoverflow.com/questions/25804924
复制相似问题