javascript - 有没有办法可以在同一个网页中获得 2 个完全隔离的 JavaScript 上下文?

标签 javascript html web-component isolation

考虑以下 html 代码:

<html>
<head>
<script language="JavaScript1.5">
    // sdk code

    // root_scripts

    // component1 code

    // component2 code
</script>
</head>
<body>
<h2>simple page</h2>
Hi world

<div id="root"></div>

</body>
</html>

component1 codecomponent2 code 行可能只是对不同 js 文件的 2 个包含,或者实际上是 2 段 JavaScript 代码,我不在乎。

我试图了解同一页面中可以隔离多少两段代码。例如,假设组件 1 代码包含 jquery,组件 2 代码包含 React js,并且我包含的 2 个特定版本具有特定的库。这意味着一个组件可能会破坏另一个组件,并且它们不会完全隔离。

假设两个组件都必须访问此 html 中的 dom 元素(因此我猜 iframe 并不是一个真正的选项),是否有一种好方法为每段代码创建完全隔离的 java 脚本“环境” ?就像 2 个不同的作用域一样,它们有自己的导入,并且它们不能相互冲突,但仍然能够成为同一 html 页面的一部分?

最佳答案

2015 年的 JavaScript 标准引入了自己的、不同的模块系统。它通常被称为 ES 模块,其中 ES 代表 ECMAScript。您可以使用特殊的 import 关键字,而不是调用函数来访问依赖项。

关于javascript - 有没有办法可以在同一个网页中获得 2 个完全隔离的 JavaScript 上下文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54558813/

相关文章:

javascript - 如何在 JavaScript 中通过引用传递函数调用中的参数?

html - polymer 核心下拉值

html - 斑马样式我的表格行

html - css 和 Html 处于事件状态

ecmascript-harmony - ES6 模块与 HTML 导入

javascript - Web 组件面向 future

javascript - <body> 元素上的 Shadow DOM 是一个坏主意吗?

javascript - 为什么 Array.prototype.includes.bind 行为异常?

javascript - Google 气泡图自定义工具提示列不呈现

javascript - 使用 angularjs 更新值的问题