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

Cha*_*ndu 5 node.js

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

如果这是工作流程就好了

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

请不要建议我浏览器化。

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

jsa*_*ell 0

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

还可以使用模块转译器——编写ES6 模块导出器,并将其转换为在浏览器或 commonjs/node 环境中使用。