如何编写兼容nodejs和浏览器兼容的模块?

时间:2013-08-01 06:51:37

标签: node.js

我正在编写一个节点模块{模块集合},将来这也可能被移植到浏览器环境中。 出于这个原因,我正在寻找允许我编写一次代码然后重用它的编程技术,如果它需要某种运行构建,可能就好了。

如果这是工作流程,则很好,

  • 编写节点模块
  • 运行一些构建脚本,将上面编写的代码转换为单个js文件,以便能够在浏览器环境中运行

请不要建议我浏览。

为什么没有browserfiy或任何其他类似的东西? 我看到了生成的代码。它很庞大,并且有很多browserify引入代码。 我发现很难排除故障并完成我编写的代码

2 个答案:

答案 0 :(得分:0)

我真的建议再看看Browserify。除此之外,在您的文件中添加Universal Module Definition(UMDJS)导出器。这将允许您在节点,browserify,requirejs / amd中公开您的模块,或者只是将其放入任何站点上的脚本标记中。

还可以使用模块转换器 - 写入a ES6 module exporter,并将其转换为在浏览器或commonjs / node环境中使用。

答案 1 :(得分:0)

好吧,Darren,我们假设我有一些Agent对象,它的传输层浏览器端需要XMLHttpRequest但是使用NodeJS'http API服务器端

例如,您在哪里使用Grunt进行切换?假设我们有以下文件:Agent.jstransport-browser.jstransport-node.js。也许我对你的技术不感兴趣,但它就像我想要的那样(我正在考虑所有这些)。