JavaScript 模块和 CORS

新手上路,请多包涵

我试图理解 JavaScript 中的模块,但是当我尝试编写一个非常简单的模块时,出现 CORS 错误。我使用方括号作为我的文本编辑器,奇怪的是当我在方括号中使用实时预览时代码有效但是当我通常打开 .js 文件时出现错误。

索引.html

 <!DOCTYPE html>
    <html>
    <head>
        <title> JS </title>
    </head>
    <body>
        <script type="module">
            import {add} from './libA.js';
            console.log(add(10,20));
        </script>
    </body>
    </html>

libA.js

 export function add(a,b) {
        return a+b ;
    }

*我收到这个错误->

 Access to Script at 'file:///F:/WEB%20DEV/JavaScript/libA.js' from origin `null` has been blocked by CORS policy:
Invalid response.
Origin 'null' is therefore not allowed access.

(我什至也尝试过最新版本的 chrome)

原文由 Ahmad Reza 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 324
2 个回答

许多浏览器不允许您使用 JavaScript 访问本地文件系统上的文件(即使 HTML 文档也在本地文件系统上)。

这扩展到加载 JavaScript _模块_。

安装网络服务器并使用它(使用类似 http://localhost/ 的 URL)进行测试。

原文由 Quentin 发布,翻译遵循 CC BY-SA 4.0 许可协议

如果您安装了节点,我建议您安装 http-server 包。您将立即启动并运行!解决了我的问题,我可以使用服务器在 chrome 中运行我的应用程序。

原文由 fUrious 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题