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

血红的双手。 提交于 2019-12-24 10:27:00

问题


This question relates to my earlier question.

Trying to use howler.js (https://github.com/goldfire/howler.js#documentation) in a Controller.

There is no addon for Howler but it exists as a npm package.

I've followed the instructions to use ember-browserify and then started the ember dev server (ember s).

The import looks like this :

import Howl from "npm:howler";

I've also tried this :

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

and this :

import {Howl} from "npm:howler" ;

In all cases when I attempt to make use of Howler like this :

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

I get an error in the console (first import shown above) :

Uncaught TypeError: _npmHowler.default is not a constructor

or (second and third import shown above) :

Uncaught TypeError: _npmHowler.Howl is not a constructor

The example code for Howler is here and as far as I can see what I'm doing is in line with those examples.

Any suggestions welcome.


FWIW: this is the same body of code as is mentioned here but since that question I've moved onto using ember-browserify


EDIT: This question has been tagged as "possibly a duplicate" of How to use third party npm packages with ember cli app . On closer examination I think it's clear that is not the case. The cited question does not mention the specific error message that I mention in my question , "...is not a constructor", neither does the OP of that question use ember-browserify, which is an integral part of my question.


回答1:


Howler probably exports more than the constructor function, so you need to make sure you are accessing that part of the module:

import howler from ‘npm:howler’;

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


来源:https://stackoverflow.com/questions/50091963/emberjs-ember-browserify-x-is-not-a-constructor

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!