Búsqueda de sitios web

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

Artículos relacionados