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(...)
此问题涉及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(...)