Emberjs / ember-浏览器化:"X is not a constructor"?

Emberjs / ember-browserify : "X is not a constructor"?

此问题涉及my earlier question

正在尝试在控制器中使用 howler.js (https://github.com/goldfire/howler.js#documentation)。

Howler 没有插件,但它作为 npm 包存在。

我遵循了 instructions to use ember-browserify 然后启动了 ember 开发服务器 (ember s)。

导入看起来像这样:

import Howl from "npm:howler";

我也试过这个:

import {Howl as Howl} from "npm:howler" ;

还有这个:

import {Howl} from "npm:howler" ;

在所有情况下,当我尝试像这样使用 Howler 时:

var sound = new Howl({
    src: ['https://example.com/foo.mp3']
});
sound.play();

我在控制台中收到一个错误(上面显示的第一次导入):

Uncaught TypeError: _npmHowler.default is not a constructor

或(上面显示的第二个和第三个导入):

Uncaught TypeError: _npmHowler.Howl is not a constructor

Howler 的示例代码是 here,据我所知,我所做的与这些示例一致。

欢迎提出任何建议。


FWIW:这与提到的代码相同 here but since that question I've moved onto using ember-browserify


编辑:此问题已被标记为 "possibly a duplicate" of How to use third party npm packages with ember cli app。经过仔细检查,我认为很明显情况并非如此。引用的问题没有提到我在问题中提到的具体错误消息,“...不是构造函数”,该问题的 OP 也没有使用 ember-browserify,这是我的一个组成部分题。

Howler 可能导出的不仅仅是构造函数,因此您需要确保您正在访问模块的那部分:

import howler from ‘npm:howler’;

let sound = new howler.Howl(...)