gpt4 book ai didi

javascript - 如何从我发布的 npm 包中访问图像和声音?

转载 作者:行者123 更新时间:2023-12-03 12:39:11 25 4
gpt4 key购买 nike

背景
我制作了一个简单的游戏来学习如何使用 Phaser 3 和 TypeScript。当我在本地加载并运行它时,游戏就可以工作了。我把游戏转成github托管的包了,大家可以看看here .我的想法是将游戏作为一个包加载到 Electron 应用程序中。
所以我用 TypeScript 样板制作了一个 Electron 应用程序并导入了我的游戏。
一些代码
这就是我在 Electron renderer.ts 文件中引入我的包的方式
渲染器.ts

import * as Phaser from "phaser";
import config from "@joe-lloyd/flappy-bird-phaser/lib";

const game = new Phaser.Game(config);
问题
我的游戏在我开始时加载,但由于大量错误提示无法访问 Assets 而崩溃。
enter image description here
我觉得我错过了一些基本的东西。看来我的 Assets 路径是错误的。相对于包的导入没有读取 Assets ,这感觉很奇怪。我需要以不同的方式或其他方式捆绑我的 Assets 吗?
编辑 1
我在 parcel 的构建过程中添加了一个公共(public)路径,所以它看起来像这样
"build:package": "parcel build index.ts  --public-url ./lib --out-dir lib"
这给我的 Electron 应用程序带来了更好的结果。我现在有一部分(有点)更有意义。
enter image description here
如您所见,我仍然缺少这部分 \node_modules\@joe-lloyd\flappy-bird-phaser\

最佳答案

将整个缺少的路径添加到您的公共(public)路径顶部
我对这个答案不满意,但我会发布它,以防将来有人遇到这种情况。我很乐意接受更坚实的东西。
我在 Electron 应用程序中更正 Assets 路径的方法是调整公共(public)路径以包含节点模块和包名称。
构建过程现在看起来像这样

"build:package": "parcel build index.ts --public-url ./node_modules/@joe-lloyd/flappy-bird-phaser/lib --out-dir lib"
同样,我更喜欢更稳定的东西,但这消除了我的错误。

关于javascript - 如何从我发布的 npm 包中访问图像和声音?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63978803/

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