gpt4 book ai didi

javascript - 从本地文件夹导入 type=module 的脚本会导致 CORS 问题

转载 作者:行者123 更新时间:2023-12-05 00:27:32 39 4
gpt4 key购买 nike

我有一个调用 javascript 文件的小 html 文件,但是当我尝试在浏览器中访问它时,出现以下错误:

Access to script at'file:///C:/Users/jekob/Desktop/battleship/index.js' from origin'null' has been blocked by CORS policy: Cross origin requests are onlysupported for protocol schemes: http, data, chrome-extension, edge,https, chrome-untrusted.


我已经用谷歌搜索了几个小时,发现我可以通过服务器(如 node.js)托管我的应用程序,然后允许 CORS。但是我不想要任何服务器。我只想要一个简单的 html 和一个 js 文件。
索引.html:
<!DOCTYPE html>
<html>
<head>
<title>battle-ship</title>
<link rel="stylesheet" type="text/css" href="index.css">

</head>
<body>
<div id="board"></div>
<script type="module" src="index.js"></script>
</body>
</html>
index.js:
import {board} from './board_0.1.js';

console.log(board);
board.js:
class cell{
constructor(){
this.locationByLetter = null;
this.locationByNumb = [];
this.occupied = false;
this.clicked = false;
}
}

class shipDitel{
constructor(name,size){
this.name = name;
this.size = size;
this.location =[];
}
}

export const board = buildBoard();
const shipType = [["Destroyer",2/*size*/],["Submarine",3],["Cruiser",3,],
["Battleship",4,],["AircraftCarrier",5]];

var shipsArr=setShip();
var selectedShip = selectShip(shipsArr[4]);
var stateGame ={
setting:true,
gameIsStart:false
}

function buildBoard(){
..
};

function setShip(){ //setting to a ship his name and size .
...
};

function selectShip(ship){
...
}

function onSelectedCell(cell){
...
};

function checkTheZone(cell){
...
};

最佳答案

I've googled that for hours and found out that I can host my app by a server (like node.js)


是的

and then to allow CORS.


由于它将是同源,因此您不需要 CORS。

However I don't want any server. I want just a simple html and a js file.


那么你就不能使用浏览器端的 ES6 模块了。
您需要先编写代码以不使用模块,或者使用 Webpack 或 Rollup 之类的东西将代码转换为以后不使用模块。

a discussion in the HTML issue tracker关于 CORS 要求的动机。

关于javascript - 从本地文件夹导入 type=module 的脚本会导致 CORS 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63873280/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com