18910140161

HTML-如何在Visual Studio代码中运行这个JavaScript蛇游戏?-堆栈溢出

顺晟科技

2022-10-18 12:24:27

166

我用JavaScript编写了这个贪吃蛇游戏,当我通过点击屏幕右上角的运行图标来运行game.JS文件时,我得到了这个错误。

[Running] node "/Users/matthewrowlinson/Documents/Javascript Code/snake/game.js"
(node:79394) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension.
(Use `node --trace-warnings ...` to show where the warning was created)
/Users/matthewrowlinson/Documents/Javascript Code/snake/game.js:1
import { update as updateSnake, draw as drawSnake, SNAKE_SPEED, getSnakeHead, snakeIntersection } from './snake.js'
^^^^^^

SyntaxError: Cannot use import statement outside a module
    at wrapSafe (internal/modules/cjs/loader.js:1001:16)
    at Module._compile (internal/modules/cjs/loader.js:1049:27)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
    at Module.load (internal/modules/cjs/loader.js:950:32)
    at Function.Module._load (internal/modules/cjs/loader.js:790:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:76:12)
    at internal/main/run_main_module.js:17:47

[Done] exited with code=1 in 0.065 seconds

这很有趣,因为我不应该得到这个错误,因为我特别设置了type=";模块";在HTML文件中。

<代码><;脚本SRC=";游戏.JS";延迟类型=";模块";>;<;/脚本>;

到目前为止,这是我看到的解决此错误的唯一方法,将类型设置为“模块”。我不知道为什么它什么都不做,我仍然得到同样的错误。


顺晟科技:

我不得不假设您正在尝试托管一个节点脚本,而";game.JS";脚本通过<script src="game.js" defer type="module"></script> .

";导入";选项仅适用于服务器端节点脚本。我假设当您连接到服务器时,您希望Game.JS和HTML文件在您的浏览器上弹出。这意味着game.JS将在客户端运行,在客户端不能有节点模块或";导入";.

要在HTML中包含JS脚本,您不需要指定";延迟类型";或者任何模块的东西。

TL:博士

您可以只执行<script src="game.js" defer type="module"></script>>;

或者

如果您不需要托管服务器,执行<script src="game.js"

我不能做出很好的判断,因为我需要假设很多事情。有更多的信息吗?

  • TAG:
相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航