Ember-cli jest w trakcie intensywnego rozwoju tak dużo struktury plików może się zmienić szybko, ale tutaj na kilka spostrzeżeń na temat aktualnego stanu struktury folderów i dlaczego jest umieszczony tak, to jest:
Folder app/
jest bezpośrednio importowany do aplikacji. Pomocnicy są ściągnięci stąd, dlatego musisz mieć plik dla każdego komponentu w tym folderze. Dodatkowo szablony zostaną pobrane z głównej aplikacji i jako takie będą dostępne w sposób, w jaki szablony są normalnie dostępne w aplikacji ember (render
, partial
i standardowej rozdzielczości).
Niektórzy ludzie umieszczają wszystkie swoje kody komponentów w app/
, ale jest to zły pomysł, ponieważ folder addon/
istnieje nie tylko jako oddzielenie kodu dodatków, ale jako sposób na zaimportowanie przy użyciu importu ES6 . Tak więc, choć nie można bezpośrednio uzyskać dostęp do komponentów pod addon/components/
, ty może importować je do aplikacji tak:
import SomeComponent from 'some-addon/components/some-component'
Jest to bardzo przydatne dla konsumentów zabudowanych jeśli chcą rozszerzyć dodatek dodać niektóre funkcjonalność.
Szablony w addon
są prekompilowane w drzewie kompilacji, co sprawia, że dodatki są bardziej odporne (np. Jeśli używają innej wersji htmlbars, będą nadal kompatybilne z aplikacją bazową). Jednak nie są one dostępne za pośrednictwem rezolwerem, więc trzeba je zaimportować ręcznie w komponentach twojego dodatku, która jest dlaczego plan dla urządzeń dodatkowych wygląda następująco:
import Ember from 'ember';
import layout from '../templates/components/some-component';
export default Ember.Component.extend({
layout: layout
});
style dodatki można umieścić w addon/styles/
lub app/styles/
. W wersji addon/styles/
są one również wstępnie kompilowane i domyślnie włączone do aplikacji. Gorąco polecam w tym style app/styles
ponieważ to sprawia, że są dostępne za pomocą importu preprocesora w aplikacji bazowej:
@import some-addon/main.css
To czyni je całkowicie opcjonalne użytkownikom dodatku, bez uciekania się do app.import
i config
oszustwa (co jest dobrze, ponieważ zagnieżdżone dodatki nie są obsługiwane app.import
. Nie używaj go.)
UWAGA: Nie są one automatycznie podzielone na nazwy, więc powinieneś umieścić style w folderze, aby upewnić się, że nie są one w konflikcie z innymi stylami dodatków.
Podsumowując:
- Wszelkie kod dodatek, który nie musi być dostępny bezpośrednio przez aplikację bazy poprzez pomocników, inicjalizatorów itp powinni żyć w
addon/
- cokolwiek chcesz, aby były dostępne ES6 import powinien żyć w
addon/
- Szablony powinien żyć w
addon/templates/
i być importowane ręcznie
- składowe stubs, inicjatorów i inne pliki, które powinny zostać uwzględnione w standardowej Ember budowy ch Powinien on być dostępny w następujących stylach:
app/
- Style powinny znajdować się w
app/styles/
i powinny znajdować się w folderze nazw (np. app/styles/some-addon/
)
- Nie używaj
app.import
.