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

浏览器中JS文件间导入失败:未请求test2.js问题求助

解决ES模块import未触发请求的问题

核心问题是你没有将test1.js声明为ES模块。浏览器默认把通过<script>加载的脚本视作传统脚本,这种模式下import语法会被直接忽略,自然不会发起对test2.js的请求。

修正后的test.html代码

<script type="module" src="test1.js"></script>

注意:不要使用自闭合的<script/>,HTML中脚本标签建议用完整的闭合写法</script>,避免兼容性问题。

为什么之前的尝试无效

你之前在页面中提前加载test2.js的操作完全没必要——test1.js才是你的入口脚本,只有它被标记为type="module",浏览器才会解析其中的import语句,自动去请求依赖的test2.js文件。

其他代码无需修改

test1.js的导入语法和test2.js的导出语法都是正确的:

  • test1.js:
import { test_func } from 'test2.js';
console.log(test_func());
  • test2.js:
export function test_func() {
  return "Hi!";
}

额外注意事项

  • 模块脚本受同源策略限制,直接用file://协议打开HTML可能会报错,建议用本地服务器运行(比如用python -m http.server启动简易服务器,或者用编辑器的Live Server插件)。
  • 确保test2.js和test1.js在同一目录下,路径匹配正确。

内容的提问来源于stack exchange,提问作者Mr. Nom4ik

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 00:27:05