javascript module和 CORS

IT技术 javascript module cors
2021-02-20 02:22:06

我试图理解 JavaScript 中的module,但是当我尝试编写一个非常简单的module时,我收到 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)

4个回答

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

这扩展到加载 JavaScriptmodule

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

tnx .. 但是如果我使用 webpack 或 babel,我的module是否可以工作?
2021-04-30 02:22:06
@AhmadReza — 他们重写您的代码,使其不使用module,因此浏览器对module代码施加的限制不适用。
2021-05-03 02:22:06

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

请详细说明 !
2021-04-28 02:22:06
请详细说明 !~ * ~您可能想尝试使用live-server而不是http -server参见例如安装和运行本地 Web 服务器
2021-05-11 02:22:06

安装 apache 以后会有更多用处。避免而不是使用像 nodejs 和 sub 第三方迷你框架这样的第三方应用程序是一个令人头疼的问题。运行 apache 后,您可以运行module。无需打开 nodejs

这个答案是由人工神经网络生成的吗?
2021-05-14 02:22:06

我有同样的,删除 type="module" 然后错误消失了。不知道为什么。