Javascript 如何在非节点JS环境中使用打包模块?

Javascript 如何在非节点JS环境中使用打包模块?,javascript,node.js,npm,spidermonkey,Javascript,Node.js,Npm,Spidermonkey,除了节点API的使用(fs,http,net…),vanilla js仍然可以在任何引擎上执行。简单的功能可以相对容易地从打包的模块中“提取”(只要满足许可条款),但对于较大的模块来说,这会变得混乱 在任意环境中使用模块是否有一种简单/不太受欢迎的方法?理想情况下,这样一个npm2notnpm桥接器将能够与分叉的完整模块接口,也不期望它在100%的情况下工作:) 为什么?。我们必须使用的CMS引擎可以使用Spidermonkey引擎(在服务器上)执行任意javascript;不幸的是,这是在平台

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

在任意环境中使用模块是否有一种简单/不太受欢迎的方法?理想情况下,这样一个npm2notnpm桥接器将能够与分叉的完整模块接口,也不期望它在100%的情况下工作:)

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

您可以使用它加载许多Common.js打包的模块。或者您可以定义exports=window并将其传递给模块以获得对模块的访问


这已经是一个相当标准的模式,只需在评估每个包之前重新定义导出和模块,并在评估之后获取对象即可。应该100%使用普通的commonJS模块…Spidermonkey引擎和NodeJS之间有多少重叠?如果它是一个通用的模块,并且不使用NodeJS代码,那么它有可能在其他地方可用,比如作为一个bower模块。但是,鉴于您已经意识到的局限性,不清楚您希望使用哪种代码?是的。我误解了将节点模块移动到基于spidermonkey的浏览器的问题。如果他能够在spidermonkey standalone下执行代码,我需要在推荐一个潜在的解决方案(Rhino?)之前知道他们使用什么来执行代码