Firefox无法加载type="module"的script标签求助
解决Firefox本地加载ES6模块失效的问题
嘿,我之前也踩过这个坑!Chrome对本地文件系统加载ES模块比较宽容,但Firefox出于安全考虑,默认限制了file://协议下的模块加载,这就是你的代码在Chrome能跑、Firefox不行的核心原因。下面给你两个可行的解决办法:
方法一:用本地HTTP服务器(推荐)
Firefox对HTTP协议加载的模块没有限制,你可以快速启动一个简单的本地服务器:
- 如果你装了Python 3,在项目目录下运行:
python -m http.server - 如果你用的是Python 2,运行:
python -m SimpleHTTPServer
然后打开Firefox访问http://localhost:8000/index.html,就能看到控制台输出"Hello World"了。
方法二:临时修改Firefox配置(仅用于测试)
如果你只是临时测试不想开服务器,可以修改Firefox的安全设置,但测试完一定要改回来,避免安全风险:
- 在Firefox地址栏输入
about:config,点击“接受风险并继续” - 在搜索框里找
privacy.file_unique_origin - 双击这个选项,把它的值改成
false - 重启Firefox后,本地的ES模块就能正常加载了
另外再确认下,你的代码本身是没有语法问题的:
你的index.html:
<!DOCTYPE html> <html> <head> <script type="module" src="main.js"></script> </head> <body> </body> </html>
你的main.js:
console.log("Hello World");
内容的提问来源于stack exchange,提问作者ZipNeVid
相关产品推荐
相关产品推荐

