You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ember.js中npm安装howler.js后无法导入的问题求助

解决Ember控制器中导入howler.js的问题

你已经成功安装了howler的npm包,但Ember的模块解析系统还没识别到它,这就是你遇到Could not find module 'howler'错误的原因。下面提供两种可行的解决方法,适配不同版本的Ember项目:

方法1:使用ember-auto-import(推荐,适用于较新Ember版本)

ember-auto-import是官方推荐的npm包处理工具,能自动帮你解析和导入npm模块,步骤很简单:

  1. 先安装ember-auto-import插件:
ember install ember-auto-import
  1. 安装完成后,你之前写的导入语句import { Howl } from 'howler';就能正常工作了。举个控制器里的使用例子:
import Controller from '@ember/controller';
import { Howl } from 'howler';

export default class FooController extends Controller {
  playMySound() {
    const sound = new Howl({
      src: ['/assets/my-sound.mp3']
    });
    sound.play();
  }
}

方法2:手动导入全局脚本(适用于旧版Ember CLI)

如果你的Ember版本比较老,不支持ember-auto-import,可以手动把howler的脚本引入项目,然后借助全局变量使用:

  1. 打开项目根目录下的ember-cli-build.js,添加app.import语句引入howler的编译文件:
module.exports = function(defaults) {
  let app = new EmberApp(defaults, {
    // 你的其他项目配置
  });

  // 引入howler的压缩版脚本
  app.import('node_modules/howler/dist/howler.min.js');

  return app.toTree();
};
  1. 之后在控制器里不用写import语句,直接使用全局的Howl对象即可:
import Controller from '@ember/controller';

export default Controller.extend({
  playMySound() {
    const sound = new Howl({
      src: ['/assets/my-sound.mp3']
    });
    sound.play();
  }
});

两种方法都能解决模块找不到的问题,优先推荐ember-auto-import,它更贴合现代Ember的开发模式。

内容的提问来源于stack exchange,提问作者shearichard

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:25:24