难以对两个 javascript 文件使用 import/export。获取:无法加载资源:服务器响应状态为 404(未找到)
Difficulty using import/export for two javascript files. getting the: Failed to load resource: the server responded with a status of 404 (Not Found)
我得到:
加载资源失败:服务器响应状态为 404(未找到)
当我尝试 import/export “class Hero” 时。
我是 js 的新手,想编写游戏代码。我正在使用这个:
https://www.youtube.com/watch?v=3EMxBkqC4z0
作为基础。我想根据需要更改它,但被阻止了。开始。试图找到解决方案,但我发现的任何东西都会让我陷入其他问题。它开始于:SyntaxError: Unexpected identifier 'Hero'。 import 调用只需要一个参数。在我找到解决方案后,它进入“无法加载资源:服务器响应状态为 404(未找到)”并且......现在我真的不知道该怎么做才能继续。
代码如下:
1)hero.js
export default class Hero {
constructor(gameWidth, gameHeight) {
this.width = 150;
this.height = 20;
this.position = {
x: gameWidth / 2 - this.width / 2,
y: gameHeight - this.height - 10,
}
}
draw(ctx) {
ctx.fillStyle = "blue";
ctx.fillRect(this.position.x, this.position.y, this.width, this.height)
}
}
2) index.js
import { Hero } from "./hero";;
let canvas = document.getElementById("gameScreen");
let ctx = canvas.getContext("2d");
const GAME_WIDTH = 1280;
const GAME_HEIGHT = 720;
ctx.clearRect(0, 0, 1280, 720);
let hero = new Hero(GAME_WIDTH, GAME_HEIGHT);
hero.draw(ctx);
3) index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>FrogAttack</title>
<style>
#gameArea {
border: 4px solid black;
}
body {
height: 100vh;
background: rgb(2, 0, 36);
background: radial-gradient(circle, rgba(2, 0, 36, 1) 0%, rgba(62, 5, 22, 1) 81%, rgba(121, 9, 9, 1) 97%);
text-align: center;
overflow: hidden;
}
h1 {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
color: whitesmoke;
letter-spacing: 3px;
}
</style>
</head>
<body>
<h1>Frog Attack</h1>
<canvas id="gameArea" width="1280" height="720"></canvas>
<script type="module" src="index.js"></script>
</body>
</html>
当您从同一目录中的文件导入时,您必须在文件名前加上 ./
,如下所示:
import Hero from "./hero";
我得到:
加载资源失败:服务器响应状态为 404(未找到)
当我尝试 import/export “class Hero” 时。
我是 js 的新手,想编写游戏代码。我正在使用这个:
https://www.youtube.com/watch?v=3EMxBkqC4z0
作为基础。我想根据需要更改它,但被阻止了。开始。试图找到解决方案,但我发现的任何东西都会让我陷入其他问题。它开始于:SyntaxError: Unexpected identifier 'Hero'。 import 调用只需要一个参数。在我找到解决方案后,它进入“无法加载资源:服务器响应状态为 404(未找到)”并且......现在我真的不知道该怎么做才能继续。
代码如下:
1)hero.js
export default class Hero {
constructor(gameWidth, gameHeight) {
this.width = 150;
this.height = 20;
this.position = {
x: gameWidth / 2 - this.width / 2,
y: gameHeight - this.height - 10,
}
}
draw(ctx) {
ctx.fillStyle = "blue";
ctx.fillRect(this.position.x, this.position.y, this.width, this.height)
}
}
2) index.js
import { Hero } from "./hero";;
let canvas = document.getElementById("gameScreen");
let ctx = canvas.getContext("2d");
const GAME_WIDTH = 1280;
const GAME_HEIGHT = 720;
ctx.clearRect(0, 0, 1280, 720);
let hero = new Hero(GAME_WIDTH, GAME_HEIGHT);
hero.draw(ctx);
3) index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>FrogAttack</title>
<style>
#gameArea {
border: 4px solid black;
}
body {
height: 100vh;
background: rgb(2, 0, 36);
background: radial-gradient(circle, rgba(2, 0, 36, 1) 0%, rgba(62, 5, 22, 1) 81%, rgba(121, 9, 9, 1) 97%);
text-align: center;
overflow: hidden;
}
h1 {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
color: whitesmoke;
letter-spacing: 3px;
}
</style>
</head>
<body>
<h1>Frog Attack</h1>
<canvas id="gameArea" width="1280" height="720"></canvas>
<script type="module" src="index.js"></script>
</body>
</html>
当您从同一目录中的文件导入时,您必须在文件名前加上 ./
,如下所示:
import Hero from "./hero";