Как новичок в веб-разработке, я создаю простую игру, используя Svelte.js с JavaScript и Kaboom.js. Однако я сталкиваюсь с ошибкой («Ожидалось 0 аргументов, но получено 1.ts(2554) Error») в файле main.js после добавления игрового компонента в мой файл app.svelte. Несмотря на мои усилия по поиску ответов в Google, мне не удалось найти решение этой ошибки. Я ищу помощи, чтобы понять, что я сделал неправильно и как решить проблему.
Main.js
import './app.css'
import App from './App.svelte'
const app = new App({
target: document.getElementById('app'),
})
export default app
App.svelte
<script>
import Game from './lib/game.svelte'
let scroll;
</script>
<svelte:window bind:scrollY = {scroll}/>
<main>
<div id = "one" class = "box" style:transform = {'translate3d:(0,
${scroll*1}px,0)'}></div>
<div id = "two" class = "box" style:transform = {'translate3d:(0,
${scroll*-1}px,0)'}>
<Game />
</div>
</main>
<style>
#one
{
height: 100vh;
width: 100vw;
}
#two
{
height: 100vh;
width: 100vw;
position: relative;
</style>
игра.svelte
<script>
import kboom from 'kaboom'
</script>
index.html
<!DOCTYPE html>
<html lang = "en">
<head>
<meta charset = "UTF-8" />
<link rel = "icon" type = "image/svg+xml" href = "/vite.svg" />
<meta name = "viewport" content = "width=device-width, initial-scale=1.0"
/>
<title>Vite + Svelte</title>
</head>
<body>
<div id = "app"></div>
<script type = "module" src = "/src/main.js"></script>
</body>
</html>
Я попытался добавить игровой компонент в свой файл app.svelte. Но после получения ошибки в main.js я попытался найти аргумент, вызывающий проблему, но не смог его найти. когда я ищу в Интернете, он говорит что-то о машинописном тексте, но я не использовал машинописный текст в своем проекте, поэтому я действительно запутался!
Во-первых, ваш код ничего не делает, вы импортируете и бабах и ничего с ним не делаете, вам нужно его инициализировать.
Затем вам нужно, чтобы DOM был готов к инициализации kaboom.
Вы делаете это, импортируя вспомогательную функцию onMount
.
Вы можете проверить минимальный рабочий REPL здесь.