You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chrome扩展开发:导入模块时出现net::ERR_FILE_NOT_FOUND错误

解决Chrome扩展Manifest V3中ES模块导入报错问题

问题分析

控制台提示Failed to load resource: net::ERR_FILE_NOT_FOUND,核心原因是ES模块的使用不符合Manifest V3的规范,或是文件路径配置存在错误。

解决方案

1. 为options.js声明模块类型

在options.html中引入options.js时,必须给<script>标签添加type="module"属性,否则浏览器会将其当作普通脚本处理,无法识别ES模块的import语法:

<!-- options.html 中的脚本引用 -->
<script src="options.js" type="module"></script>

2. 校验文件路径准确性

确认commonActions.js与options.js的目录结构匹配:

  • 若两者在同一目录下,建议在导入时加上.js扩展名避免解析歧义:
    import { search } from "./commonActions.js";
    
  • 若目录层级不同,调整相对路径:比如options.js在/js/options/目录,commonActions.js在/js/目录,路径应改为../commonActions.js

3. 检查文件命名与扩展名

确保commonActions.js的文件名拼写无误(注意系统是否区分大小写),且文件扩展名确实为.js。

4. 确认Manifest配置正确性

你的manifest.json中options_page指向options.html的配置是正确的,只需保证options.html及关联JS文件的实际路径与配置对应即可。

修正后示例代码

  • options.html:
<!DOCTYPE html>
<html>
<head>
  <title>Extension Options</title>
</head>
<body>
  <!-- 页面内容 -->
  <script src="options.js" type="module"></script>
</body>
</html>
  • options.js:
import { search } from "./commonActions.js";

// 调用测试
console.log(search());

内容的提问来源于stack exchange,提问作者SilverCyber

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 20:20:18