javascript - Ember 依赖项 "Uncaught TypeError: $(...).fitText is not a function"

标签 javascript jquery ember.js

我正在尝试在 Ember 项目中使用 jQuery 插件(在本例中为“fitText”)。

ember-cli-build.js(最近替换了Brocofile...)中 - 我导入了依赖项(我已经使用 Bower 安装了该依赖项) .

/* global require, module */
var EmberApp = require('ember-cli/lib/broccoli/ember-app');

module.exports = function(defaults) {
  var app = new EmberApp(defaults, {
    // Add options here
  });

  app.import('bower_components/fittext/fittext.js');

  return app.toTree();
};

在我的控制台中,我可以输入“fitText”,然后我确实可以取回对象。所以,它现在是全局性的,我应该可以在任何地方使用它。但是 “未捕获类型错误:$(...).fitText 不是函数”

@Tom Netzband 指出 fitText 的 Bower 版本是 @adacio 维护的版本,并且是 vanilla JS。我已经将其换成了 app.import('vendor/jquery.fittext.js'); (JS 实际上只有 20 行左右)

以前,我需要将其导入到我想要使用它的 Controller 或路由中 - 但文档不再引用它。在以 moment.js 为例的文档中,它似乎成为了一个全局的。

我已经把它放在 app.js 中的 Ready hook 中 - 旁边是类似的 jQuery 东西,工作正常......但没有运气。在本例中,我只想影响 index.hbs/route 上的几个单词

更新

这现在实际上已经成为另一个问题了。我以为这仍然是同样的问题,但事实并非如此。因此,授予答案并提出新的答案。谢谢。

最佳答案

看起来bower install fittext没有安装fitText的jQuery插件版本,它只安装了它的纯js版本。

如果您查看 bower_components/fittext/fittext.js 文件,您会看到 jQuery 未传入或使用,并且 example.html 中的示例code> 文件显示用法为:

fitText(document.getElementById('fittext'), 1.2)

因此,如果您想要 jQuery 版本,您可能必须直接从 github 下载它并将其放入您的 vendor 文件夹中,并将其包含在 Bower 之外。

更新

看起来用 Bower 注册的版本是 jQuery 版本的 fork 版本,其中 jQuery 已被删除:https://github.com/adactio/FitText.js

关于javascript - Ember 依赖项 "Uncaught TypeError: $(...).fitText is not a function",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32725319/

相关文章:

javascript - 不要成功更改输入宽度

javascript - 选择 $.ajax Jquery 的父级?

javascript - 我想在 codeigniter 中禁用 datetimepicker 中的过去时间

javascript - Jquery 所有字段的总和

javascript - 将数组嵌入对象传递到动态表单的 ember.js 路由时遇到问题

javascript - 从模块导入多个函数而不显式导出对象或命名导出

javascript - 操作后 Ember 更新模型

javascript - 让文本围绕可以由用户移动的对象流动

javascript - 从 javascript 加载 chrome(windows) 中的高分辨率图像问题

javascript - MongoDB 在集合中查找最新日期