JS、WebPack、不使用 Phaser3 动态加载图像超越 IO 游戏的预加载功能
JS, WebPack, Not Dynamically Loading Images Using Phaser3 Beyond Preload Function For IO Game
我尝试制作 IO 游戏失败了,因为在使用 WebPack 打包游戏后我无法动态加载图像(假设)。当我延迟加载任何资产时,无论是跨源还是本地,它似乎都不会加载和渲染。
在 index.js 我在移相器的 create():
中有这个
this.load.image('arc_red', 'https://art.pixilart.com/187aec08b8014f7.gif');//testing with this
this.load.once('complete', ()=>{console.log('image loaded!')}, this);
this.load.start();
当我使用预加载时,它确实有效。但动态地它没有。我一直在搜索将近一天,但没有任何运气。
问题:
我的假设正确吗?如果是,在 WebPack 打包文件后我可以动态加载图像的方法是什么?
我不是 webpack 专家(并且取决于 webpack 版本),但是如果你不使用 webpack.config,默认行为应该是是:
- webpack 包文件放在
./dist
文件夹中。 所以回答你的问题,任何不在这个文件夹中的文件都不会与 webpack 捆绑在一起
Except if they are "inlined" in the main.js
, I think images are not be inlined automatically/without plugin, or atleast in the version I used to use.
- dev-server 提供了一个额外的文件夹,可以放置“静态”文件,它是
./public
(https://webpack.js.org/configuration/dev-server/)
所以从开发服务器提供的所有文件都必须在这些文件夹中。
我会将 images/assets 放入那个 ./public
文件夹中,然后它们应该是可见的。
Info: I tripped over this once, files placed in ./public
folder are accessed, as if they would be in the ./dist
folder.
我尝试制作 IO 游戏失败了,因为在使用 WebPack 打包游戏后我无法动态加载图像(假设)。当我延迟加载任何资产时,无论是跨源还是本地,它似乎都不会加载和渲染。
在 index.js 我在移相器的 create():
中有这个 this.load.image('arc_red', 'https://art.pixilart.com/187aec08b8014f7.gif');//testing with this
this.load.once('complete', ()=>{console.log('image loaded!')}, this);
this.load.start();
当我使用预加载时,它确实有效。但动态地它没有。我一直在搜索将近一天,但没有任何运气。
问题:
我的假设正确吗?如果是,在 WebPack 打包文件后我可以动态加载图像的方法是什么?
我不是 webpack 专家(并且取决于 webpack 版本),但是如果你不使用 webpack.config,默认行为应该是是:
- webpack 包文件放在
./dist
文件夹中。 所以回答你的问题,任何不在这个文件夹中的文件都不会与 webpack 捆绑在一起
Except if they are "inlined" in the
main.js
, I think images are not be inlined automatically/without plugin, or atleast in the version I used to use.
- dev-server 提供了一个额外的文件夹,可以放置“静态”文件,它是
./public
(https://webpack.js.org/configuration/dev-server/)
所以从开发服务器提供的所有文件都必须在这些文件夹中。
我会将 images/assets 放入那个 ./public
文件夹中,然后它们应该是可见的。
Info: I tripped over this once, files placed in
./public
folder are accessed, as if they would be in the./dist
folder.