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

现在,我正在尝试对其进行初始化。在我的app.js文件中,我添加了:

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

但这在控制台中给了我一个错误:“未捕获的TypeError:无法读取未定义的属性'default'”。检查器显示以下生成的代码:
["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);
  });

最佳答案

使用Ember-cli v0.0.42

使用bower安装fastclick

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文件的predef中,以防止提示。文档中有关Managing Dependencies的更多信息。

关于javascript - 如何使用ember-cli安装fastclick?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25889152/

10-11 05:42