2014-09-17 13 views
5

Ich habe ein Ember-CLI-Projekt. Ich habe Bower benutzt, um Fastclick zu installieren und habe es zu meinem Brocfile hinzugefügt.Wie installiert man fastclick mit ember-cli?

Jetzt versuche ich, es zu initialisieren. In meiner app.js Datei habe ich hinzugefügt:

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

Aber das gibt mir einen Fehler in der Konsole: „Nicht abgefangene Typeerror: Kann Eigenschaft‚default‘undefinierten nicht lesen“. Der Inspektor zeigt den folgenden generierten Code:

["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 

Ich nehme an, das Problem ist, dass Fastclick mit dem ES6 Lader nicht kompatibel ist, der glut-cli Anwendungen. Ich habe keine Requirejs, also wie kann ich fastclick in mein Projekt installieren? Dokumente sind unter https://github.com/ftlabs/fastclick.

Ich habe auch versucht haben, diese zu index.html, aber es hat keine Wirkung, wenn ich eine iOS-App bauen:

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

Antwort

9

mit Ember-cli v0.0.42

Installieren Fastclick mit bower

bower install fastclick --save 

In Ihrem Brocfile.js, fügen Sie folgendes über module.exports = app.toTree();

app.import('bower_components/fastclick/lib/fastclick.js'); 

Dann in Ihrem app.js Sie

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

Sie werden auch "FastClick":true auf Ihre .jshintrc Datei hinzufügen müssen hinzufügen predefs, um zu verhindern, dass es sich beschwert. Weitere Informationen finden Sie in der Dokumentation über Managing Dependencies.

0

OK die jquery Version nicht funktioniert hat, sondern setzen die folgende in meiner index.html Datei tat

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