【问题标题】:How to use packaged modules in a non-node JS environment?如何在非节点 JS 环境中使用打包好的模块?
【发布时间】:2013-12-10 06:37:11
【问题描述】:

除了节点 API 使用(fshttpnet...)之外,vanilla js 仍然可以在任何引擎上执行。简单的功能可以相对容易地从打包的模块中“提取”(只要符合许可条款),但是对于较大的模块来说这会变得混乱。

是否有在任意环境中使用模块的直接/不那么令人不快的方式?理想情况下,这样的 npm2notnpm 桥将能够与分叉的完整模块进行交互,也不期望它在 100% 的情况下工作:)

为什么?.. 我们必须使用的 CMS 引擎可以使用 Spidermonkey 引擎(在服务器上)执行任意 javascript;不幸的是,这是在平台上构建任何功能的唯一方法。我希望能够尽可能多地利用可用的软件包(愿望清单上的cheerio),而不是在没有上下文的情况下重新发明轮子或复制粘贴代码。

【问题讨论】:

  • 这已经是一个非常标准的模式,只需在评估每个包之前重新定义导出和模块,并在评估后收集对象。应该 100% 使用普通的 commonJS 模块...
  • Spidermonkey 引擎和 NodeJS 之间有多少重叠?如果它是一个通用的模块并且不使用 NodeJS 代码,那么它有可能在其他地方可用,比如作为凉亭模块。但是,考虑到您已经知道的限制,尚不清楚您想使用哪种代码?

标签: javascript node.js npm spidermonkey


【解决方案1】:

您可以使用Require.js 加载许多Common.js 打包模块。或者您可以定义 export = window 并将其传递给模块以访问模块。

http://requirejs.org/docs/commonjs.html

【讨论】:

  • 是的。我误解了将节点模块移动到基于蜘蛛猴的浏览器的问题。如果他能够在独立的 spidermonkey 下执行代码,我需要知道他们在使用什么来执行此操作,然后再推荐一个潜在的解决方案(Rhino?)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多