2014-09-21 14 views
8

Tak więc - chcę mieć grę z typem główki w aplikacji ember.ember-cli dodawanie zależności z altanką

uzyskać CLI aplikacji i działa potem biegnę

bower install typeahead.js 

widzę, że kod został wprowadzony do bower_components.

Następnie dodać następujące do brocfile:

/* 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(); 

Jednak to nie działa - mam

Uncaught ReferenceError: Bloodhound is not defined 

Od czytania docs - instalację z altany i dodanie linii w brocfile powinien wystarczyć, aby go zaspokoić? Czy czytam to źle, czy to błąd?

Stworzyłem repo GIT publiczny, który pokazuje ten problem:

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

Wszystko zrobiłem to:

ember new bootstrap-test 
bower install bootstrap 

, a następnie dodaje:

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

do plik brockfile ...

Nie zadziałało ...

+0

typeahead.bundle.min.js powinien zawierać bloodhound. Spróbuj usunąć plik bloodhound.js import –

+0

Nadal dostaję błąd:/ – iwayneo

+0

@drorb Zmieniłem pytanie i dodałem repo na github, które pokazuje problem ... – iwayneo

Odpowiedz

5

Nie udostępniłeś swojego pliku Brocfile.js, ale miałem podobne problemy, gdy dodałem zależności po linii module.exports = app.toTree(); na końcu tego pliku. Dokumentacja jest o tym not terribly clear, ale module.exports = app.toTree(); powinien zawsze być ostatni w Brocfile.js. Spróbuj przenieść swoje oświadczenie app.import() powyżej tego wiersza i rzeczy powinny działać poprawnie.

Aktualizacja

Ciągnięcie swój repo zauważyłem kilka problemów. Po pierwsze, musisz przekazać --save-dev do instalacji altówki dla bootstrap i typeahead.js, aby te zostały zainstalowane, gdy inni usuwają twoje repozytorium. Że będzie dodać sekcję takiego do bower.json:

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

Dodałem też "Bloodhound": true do sekcji prefdef z .jshintrc uniknąć jshint błędy na budowie:

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

Można również wymienić $ referencje w index.js z Ember.$, aby uniknąć kolejnego błędu jshint.

Gdy to zrobiłem, mogłem uruchomić aplikację ember serve i załadować aplikację bez problemów z Bloodhoundem.

+3

Kluczem do tego jest to, że musisz ponownie uruchomić serwer po dodaniu zależności – iwayneo

+0

Tak, to też :) – Dhaulagiri

Powiązane problemy