火狐浏览器显示“此页面没有来源”

3

我正在开发一个JavaScript游戏,它在Chrome和Safari中表现正常。然而,在Firefox中,页面不会加载任何脚本,并且调试器是空的。我根本没有看到任何错误。这是整个HTML的全部内容:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <canvas id="canvas"></canvas>
    <script type="module" src="foo.js"></script>
    <script type="module" src="bar.js"></script>
    <script type="module" src="baz.js"></script>
    <script type="module" src="qux.js"></script>
    <script type="module" src="foobar.js"></script>
    <script type="module" src="bazqux.js"></script>
</body>
</html>

更新:为了未来的读者提供更多背景信息,根据Roko C. Buljan的回答,事实证明在撰写本文时,FireFox默认情况下没有启用ES6模块。这就是问题所在。

1个回答

5
您正在使用 Firefox 中不公开的 module 功能。要启用它们,您可以转到 about:config 并在 dom.moduleScripts.enabled 下将其 设置为 true

enter image description here

与此同时,你可以 使用这种 polyfill 或者使用构建工具将你的模块编译成一个单独的 ES5 支持的生产就绪文件。
一些深入阅读:

https://html.spec.whatwg.org/multipage/webappapis.html#integration-with-the-javascript-module-system
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script https://jakearchibald.com/2017/es-modules-in-browsers/
https://medium.com/webpack/the-state-of-javascript-modules-4636d1774358


1
类型不需要是“module”才能使用导入/导出语句吗? - PopKernel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接