2014-09-21 13 views
8

Also - ich möchte mit typahead in einer Glut App spielen.ember-cli Hinzufügen von Abhängigkeiten mit Bower

erhalte ich eine App auf cli und läuft dann laufe ich

bower install typeahead.js 

ich sehen kann, dass der Code setzen in bower_components wurde.

ich folgendes zum brocfile dann hinzufügen:

/* global require, module */ 

var EmberApp = require('ember-cli/lib/broccoli/ember-app'); 

var app = new EmberApp(); 

// Use `app.import` to add additional libraries to the generated 
// output files. 
// 
// If you need to use different assets in different 
// environments, specify an object as the first parameter. That 
// object's keys should be the environment name and the values 
// should be the asset to use in that environment. 
// 
// If the library that you are including contains AMD or ES6 
// modules that you would like to import into your application 
// please specify an object with the list of modules as keys 
// along with the exports of each module as its value. 

app.import('bower_components/typeahead.js/dist/typeahead.bundle.min.js'); 

module.exports = app.toTree(); 

aber es funktioniert nicht - ich

Uncaught ReferenceError: Bloodhound is not defined 

in der Dokumentenlese - Installation mit Bower und das Hinzufügen der Zeilen in der brocfile sollte genug sein, um es zu befriedigen? Lies ich es falsch oder ist das ein Fehler?

Ich habe eine öffentliche GIT-Repo geschaffen, die dieses Problem zeigt:

https://github.com/wayne-o/ember-cli-bootstrap

Alles, was ich getan habe, ist:

ember new bootstrap-test 
bower install bootstrap 

Und dann hinzugefügt:

app.import('bower_components/bootstrap/dist/css/bootstrap.css'); 
app.import('bower_components/bootstrap/dist/js/bootstrap.js'); 

zu das brockfile ...

Es hat sich Ihre Brocfile.js nicht funktioniert ...

+0

typeahead.bundle.min.js sollte Bluthund enthalten. Versuchen Sie den bloodhound.js Import zu entfernen –

+0

Immer noch den Fehler:/ – iwayneo

+0

@drorb Ich habe die Frage geändert und ein Repo auf Github hinzugefügt, die das Problem ... – iwayneo

Antwort

5

Du hast nicht teilen, aber ich habe ähnliche Probleme hatte, als ich Abhängigkeiten nach der module.exports = app.toTree(); Zeile am Ende der Datei hinzugefügt haben. Die Dokumentation ist not terribly clear darüber, aber module.exports = app.toTree(); sollte immer in Brocfile.js zuletzt kommen. Versuchen Sie, Ihre app.import() Anweisung über diese Zeile zu verschieben, und die Dinge sollten ordnungsgemäß funktionieren.

aktualisieren

Ziehen Sie Ihre Repo bemerkte ich ein paar Probleme. Erstens müssen Sie --save-dev an Ihre Bower-Installationen für Bootstrap und typeahead.js übergeben, damit diese installiert werden, wenn andere Ihr Repo herunterziehen. Das wird einen Abschnitt wie diese zu Ihrem bower.json hinzufügen:

"devDependencies": { 
    "bootstrap": "~3.2.0", 
    "typeahead.js": "~0.10.5" 
} 

ich auch "Bloodhound": true zum prefdef Abschnitt .jshintrc jshint Fehler auf Build zu vermeiden hinzugefügt:

"predef": { 
    "document": true, 
    "window": true, 
    "-Promise": true, 
    "Bloodhound": true 
    }, 

Sie auch ersetzen können Ihre $ Referenzen in index.js mit Ember.$, um einen weiteren JShint-Fehler zu vermeiden.

Sobald ich das getan habe, konnte ich ember serve ausführen und die App ohne irgendwelche Bloodhound-Probleme laden.

+3

Der Schlüssel dazu ist, dass Sie den Server nach dem Hinzufügen von Abhängigkeiten neu starten müssen – iwayneo

+0

Ja, das auch :) – Dhaulagiri

Verwandte Themen