如何从浏览器使用JavaScript中的任何外部库?(无需预处理)

如何从浏览器使用JavaScript中的任何外部库?(无需预处理),javascript,ecmascript-6,Javascript,Ecmascript 6,假设我要在浏览器中使用此库: 说我不能做任何预处理 (重要的是,脚本是动态加载的,因为用户可以选择任何脚本) 如果我从浏览器加载它,我会 未捕获引用错误:未定义导出 这是有道理的,因为有这样的代码: exports.escape = ... exports.unescape = ... 我可以通过执行以下操作来解决此问题: <script>exports = {};</script> <script src='...'></script>

假设我要在浏览器中使用此库:

说我不能做任何预处理 (重要的是,脚本是动态加载的,因为用户可以选择任何脚本)

如果我从浏览器加载它,我会

未捕获引用错误:未定义导出

这是有道理的,因为有这样的代码:

exports.escape = ... 
exports.unescape = ... 
我可以通过执行以下操作来解决此问题:

<script>exports = {};</script>
<script src='...'></script>
exports={};
但这是正确的吗? 解决这个问题的一般方法是什么? 是否存在未定义出口的polyfill? 我错过什么了吗


谢谢

它是一个node.js包,不在浏览器中运行您的修复程序可能适用于一个库,但导出变量是一个关键字,可以出现在库中的任何或所有文件中。它用于公开文件的内容。@holger fair point。有些库无法在浏览器上工作,但许多库可以。(例如,我提供的解决方案会起作用……所以我的问题仍然是解决这个问题的最佳解决方案是什么)@Pineda谢谢。我追求最干净的方法。我理解不是所有的JS文件都可以在浏览器上运行为什么不进行预处理?它是一个node.JS包,不在浏览器中运行您的修复程序可能适用于一个库,但导出变量是一个关键字,可以出现在库中的任何或所有文件中。它用于公开文件的内容。@holger fair point。有些库无法在浏览器上工作,但许多库可以。(例如,我提供的解决方案会起作用……所以我的问题仍然是解决这个问题的最佳解决方案是什么)@Pineda谢谢。我追求最干净的方法。我很感激不是所有的JS文件都可以在浏览器上运行为什么不进行预处理?