0

我正在尝试更新我的一个旧站点,该站点使用 lit-element、pixi.js 和 webpack 在开发和构建中提供服务。新版本的 lit-element 已点亮,他们建议使用 web-dev-server 作为在本地提供代码的手段,但是当我尝试这样做时,我从 pixi.js 收到错误消息

https://lit.dev/docs/tools/development/(供参考)

请求的模块“./../../../es6-promise-polyfill/promise.js”不提供名为“Polyfill”的导出

从我发现的有效填充只是提供了一个立即调用的函数表达式,而 pixi.js 正在尝试进行模块导入

/*!
* @pixi/polyfill - v5.3.10
* Compiled Mon, 07 Jun 2021 22:37:25 UTC
*
* @pixi/polyfill is licensed under the MIT License.
* http://www.opensource.org/licenses/mit-license
*/
import { Polyfill } from 'es6-promise-polyfill';
import objectAssign from 'object-assign';

// Support for IE 9 - 11 which does not include Promises
if (!window.Promise) {
  window.Promise = Polyfill;
}

我对 lit-element 和 webpack 没有这个问题,我不确定如何正确解决这个问题。我想这是一个捆绑问题,但这真的不是我的强项。切换回 webpack 似乎会带来很多其他问题。(似乎与这个问题有关相对引用必须以“/”、“./”或“../”开头,但由于其中的解决方案是使用 web-dev-server 而不是 webpack,所以我绕圈跑)

对此问题的任何建议将不胜感激,在此先感谢。

4

1 回答 1

1

请尝试以下方法,它应该可以工作。如果它以前被导出为default,那么它可能找不到它。要进一步了解,请参见此处...

import { Polyfill } from 'es6-promise-polyfill';
// should be changed to below code
import Polyfill  from 'es6-promise-polyfill';

奖金:

如果你想用 webpack 来做,请看这里......使用babel-polyfill

  1. 通过添加npm install --save "babel-polyfill"
  2. 然后将其添加为 webpack.config.js 中的入口点:
module.exports = {
   entry: ['babel-polyfill', './app/js']
};
于 2021-08-26T06:18:35.443 回答