Używamy maszynopisu v2.3.2 i TSLint v4.5.1 z kodem VS do utworzenia SPA. Codebase rośnie, a my musimy w jakiś sposób go zmodularyzować.
Próbowałem modularyzacji za pomocą modułów maszynopisu, ale znalazłem następujący błąd lint podczas transpozycji aplikacji.
[tslint] "namespace" and "module" are disallowed (no-namespace)
Używam tej konfiguracji dla lintera:
{
"extends": "tslint:recommended",
"rules": {
"no-var-requires": false,
"no-console": ["error", false],
"max-line-length": [false]
}
}
Zalecany plik reguł w linii 89 pokazuje tę zasadę:
"no-namespace": true,
Zastanawiam się, czy coś jest nie tak i jaki byłby najlepszy sposób na modularyzację SPA, podążając za dobrymi praktykami, które wkrótce nie są przestarzałe.
Przykłady kodu będą mile widziane. Dziękuję Ci bardzo.
Odpowiedzi:
4 dla odpowiedzi № 1[tslint] "namespace" i "module" są niedozwolone (no-namespace)
Ponieważ nie są standardowa składnia JavaScript.
- Namespace jest specjalną składnią tylko dla TypeScript dla wspólnego wzorca JS: https://basarat.gitbooks.io/typescript/docs/project/namespaces.html
- Nie używaj przestrzeni nazw z
outFile
: https://basarat.gitbooks.io/typescript/docs/tips/outFile.html