angular - ¿Cómo hacer que atom-typescript reconozca módulos sin ruta relativa?
Estoy siguiendo el tutorial de angular-meteor usando angular2 y typescript.
Dado que estoy usando Atom, agregué el paquete atom-typescript y un archivo tsconfig para aprovechar los archivos de declaración de tipos.
Estoy intentando hacer que atom-typescript reconozca la importación en client/parties-form/parties_form.ts:
import {Parties} from 'collections/parties';
Pero Atom me da el siguiente error: No se puede encontrar el módulo 'collections/parties'.
El error ocurre cuando importo el módulo con ruta relativa:
import {Parties} from '../../collections/parties';
Pero luego Meteor no compila y da un error de conflicto de reserva de ruta.
Me gustaría poder usar el primer tipo de importación sin que atom-typescript me dé ningún error y, por lo tanto, reconociendo mis archivos de declaración de tipos. ¿Qué me perdí?
Mi archivo tsconfig.json:
{
"version": "1.5.0",
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"declaration": false,
"noImplicitAny": false,
"removeComments": true,
"noLib": false,
"emitDecoratorMetadata": true
},
"filesGlob": [
"./**/*.ts",
"!./typings/**/*.ts"
]
}
La versión completa del código del tutorial se puede encontrar aquí.
Respuesta #1
import {Parties} from '../../collections/parties';
Este requisito no es específico de atom-typescript. Las rutas no relativas para tu propio código fuera de node_modules no son compatibles en TypeScript. Sigue este problema para más detalles: https://github.com/Microsoft/TypeScript/issues/5039