首页 > web前端 > js教程 > 正文

如何将 ES6 模块导入到我的 Chrome 扩展的内容脚本中?

Barbara Streisand
发布: 2024-11-24 12:00:19
原创
237 人浏览过

How Can I Import ES6 Modules into My Chrome Extension's Content Scripts?

在 Chrome 扩展的内容脚本中导入 ES6 模块

问题:

尝试在 Chrome 中导入 ES6 模块时使用标准导入/导出语法的扩展内容脚本,错误消息是

上下文:

Chrome 61 引入了对 JavaScript 模块的支持,但 Chrome 扩展的内容脚本无法识别导入语法。

解决方案:异步动态 import() 函数

在 Chrome 中导入 ES6 模块扩展内容脚本,使用异步动态 import() 函数:

(async () => {
  const src = chrome.runtime.getURL("your/content_main.js");
  const contentMain = await import(src);
  contentMain.main();
})();
登录后复制

其他注意事项:

  • 将扩展清单中的导入脚本声明为可通过 Web 访问资源。
  • 此方法依赖于异步函数,该函数可能会被网站服务阻止

同步“导入”解决方法

作为替代方案,使用普通的非模块脚本并将其名称添加到中的“js”数组中主要内容脚本之前的“content_scripts”。可以直接访问脚本中的全局变量和函数。

以上是如何将 ES6 模块导入到我的 Chrome 扩展的内容脚本中?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板