此问题与my earlier question。
有关尝试在Controller中使用howler.js(https://github.com/goldfire/howler.js#documentation)。
Howler没有插件,但它作为npm包存在。
我已关注instructions to use ember-browserify,然后启动了ember dev服务器(ember s
)。
导入如下:
import Howl from "npm:howler";
我也试过这个:
import {Howl as Howl} from "npm:howler" ;
和此:
import {Howl} from "npm: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代码相同但是从那个问题开始我已经开始使用ember-browserify
编辑:此问题已被标记为How to use third party npm packages with ember cli app的“可能重复”。经过仔细研究,我认为很明显并非如此。引用的问题没有提到我在我的问题中提到的具体错误信息,“......不是构造函数”,该问题的OP也没有使用ember-browserify,这是我的问题的一个组成部分。
答案 0 :(得分:4)
Howler可能导出的不仅仅是构造函数,所以你需要确保访问模块的那一部分:
import howler from ‘npm:howler’;
let sound = new howler.Howl(...)