nie dostać swoje pytanie pełni, mogę pomyśleć dwa sposoby dokonywania tak się stało:
A- Przekazywanie argumentów podczas generowania nowego projektu:
1- Aby móc przekazać argumenty do kanciastego cli, musisz zrozumieć, gdzie chcesz go użyć.
Jeśli te konfiguracje są używane w twoim układzie, możesz rozwidlić Angular cli i zaktualizować jego plan i łatwo dodać własną konfigurację.
Oto plan Składniki:
angular-cli/packages/@angular/cli/blueprints/component/files/__path__/__name__.component.ts
który wygląda tak:
@Component({
selector: '<%= selector %>',<% if(inlineTemplate) { %>
template: `
widać selector
? to jest nazwa komponentu, z którym możesz grać, a na końcu, gdy tworzysz nowy projekt, możesz tam przekazywać własne flagi i używać go.
Ale to nie jest najlepszy pomysł, ponieważ zawsze masz kłopoty z aktualizacją Angular cli.
2- Innym możliwym rozwiązaniem jest użycie ng eject
To wygeneruje konfigurację webpack
w oddzielnym pliku i umieszcza go w folderze głównym projektu można następnie odtwarzać z tego pliku i podaj konfigurację i uczynić dostosowuje się do Twojej aplikacji.
Ale znowu nie jestem pewien, jak chcesz korzystać z tej konfiguracji.
Jest to idealny kandydat do konfiguracji build time
.
3- Użyj konfiguracji environments
:
jak to już odpowiedzi, jest to również bardzo wygodne dla zapewnienia build time
konfigurację:
odpowiedź Obserwuj @mikedanylov
„s, a następnie używać go tak jak to w tobie plików:
import { environment } from './environments/environment';
if(environment.colorRed==='blue'){
console.log('the color is blue');
}
npm build -e=colorRed
B: Run time
:
ten jest lepszym rozwiązaniem, można utworzyć połączenia w swojej index.html tak:
<script scr="wherever/configurations/blue"></script>
a następnie wewnątrz konfiguracji może mieć:
var configuration = {
whatEver:"blue"
}
a ponieważ jest to skrypt, będzie dostępny wszędzie i będziesz mieć do niego dostęp w swoich komponentach:
export class MyComponent{
ngOnInit(){
console.log('colour is : '+window['configuration.whatEver']); // obviously you can improve this and create type definitions and what not.
}
}
To da ci większą elastyczność ility na aktualizowanie konfiguracji w przyszłości bez konieczności ponownego budowania aplikacji.
Oczywiście można wykonać to samo połączenie za pośrednictwem połączenia Ajax, ale uważam powyżej za bardziej agnostykę aplikacji.
przeczytać moją odpowiedź i podać mi informacje o tym, kiedy i jak chcesz korzystać z tych konfiguracji? Czy to w szablonach? ? Czy chcesz utworzyć osobne szablony? albo co ? Daj nam jakieś wyjaśnienie, a ja cię poprawię – Milad