typescript - ¿Por qué tslint:recommended no permite módulos?
Estamos usando TypeScript v2.3.2 y TSLint v4.5.1 con VS Code para crear una SPA. La base de código está creciendo y necesitamos modularizarla de alguna manera.
Intenté hacer la modularización usando módulos de TypeScript, pero encontré el siguiente error de lint al transpilar la aplicación.
[tslint] 'namespace' and 'module' are disallowed (no-namespace)
Estoy usando esta configuración para el linter:
{
"extends": "tslint:recommended",
"rules": {
"no-var-requires": false,
"no-console": ["error", false],
"max-line-length": [false]
}
}
El archivo de reglas recomendado en la línea 89 muestra esta regla:
"no-namespace": true,
Me pregunto si hay algo mal y cuál sería la mejor manera de modularizar una SPA, siguiendo buenas prácticas que no se vuelvan obsoletas pronto.
Se darán la bienvenida a ejemplos de código. Muchas gracias.
Respuesta #1
[tslint] 'namespace' y 'module' no están permitidos (no-namespace)
Porque no son sintaxis estándar de JavaScript.
Más
- Namespace es una sintaxis especial solo de TypeScript para un patrón común de JS: https://basarat.gitbook.io/typescript/docs/project/namespaces.html
- No uses espacios de nombres con
outFile: https://basarat.gitbook.io/typescript/docs/tips/outFile.html