如何用ember-cli安装fastclick?

时间:2014-09-17 11:19:56

标签: javascript ember.js

我有一个ember-cli项目。我已经使用bower来安装fastclick并将其添加到我的brocfile中。

现在我试图初始化它。在我的app.js文件中,我添加了:

import FastClick from 'bower_components/fastclick/lib/fastclick';

但是这在控制台中给出了一个错误:"未捕获的TypeError:无法读取属性'默认'未定义"。检查员显示以下生成的代码:

["ember","ember/resolver","ember/load-initializers","bower_components/fastclick/lib/fastclick","exports"],
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __exports__) {
"use strict";
 var Ember = __dependency1__["default"];
 var Resolver = __dependency2__["default"];
 var loadInitializers = __dependency3__["default"];
 var FastClick = __dependency4__["default"];      # chrome highlights this line

我认为问题是fastclick与ember-cli使用的ES6加载器不兼容。我没有requirejs,那么如何在我的项目中安装fastclick?文档位于https://github.com/ftlabs/fastclick

我也尝试将此添加到index.html,但在构建iOS应用时它没有任何效果:

  $(function() {
    FastClick.attach(document.body);
  });

3 个答案:

答案 0 :(得分:9)

使用Ember-cli v0.0.42

使用bower

安装快速点击
bower install fastclick --save

在您的Brocfile.js中,添加以上module.exports = app.toTree();

以上内容
app.import('bower_components/fastclick/lib/fastclick.js');

然后在app.js中添加

var App = Ember.Application.extend({
  ...
  ready: function(){
    FastClick.attach(document.body);
  }
});

您还需要将"FastClick":true添加到.jshintrc文件的预定义文件中,以防止它抱怨。有关Managing Dependencies的文档中的详细信息。

答案 1 :(得分:4)

您也可以使用ember-cli-fastclick:)

答案 2 :(得分:0)

确定jquery版本不起作用,但在我的index.html文件中添加以下内容:

window.addEventListener('load', function() {
    FastClick.attach(document.body);
}, false);