typescript3.0 - Error "No se puede encontrar el módulo" al usar Referencias de Proyecto de TypeScript 3
Estoy intentando hacer que las referencias de proyecto de TypeScript 3 funcionen, pero tengo problemas para importar una función de un proyecto referenciado.
Tengo un ProjectA que hace referencia a Shared. Aquí está la estructura de archivos:
ProjectA
|_ src
| |_person.ts
|_ tsconfig.json
|
Shared
|_ src
|_utils.ts
|_ tsconfig.json
Aquí está utils.ts:
export function guid() {
return "a guid";
}
Aquí está Shared/tsconfig.json:
{
"compilerOptions": {
"composite": true,
"declaration": true,
"target": "es5",
"outDir": "dist",
"module": "es6",
"moduleResolution": "node",
"sourceMap": true,
"noImplicitReturns": true,
"noImplicitAny": true
},
"include": ["src/**/*"]
}
Aquí está ProjectA/tsconfig.json:
{
"compilerOptions": {
"composite": true,
"declaration": true,
"target": "es5",
"outDir": "dist",
"module": "es6",
"moduleResolution": "node",
"sourceMap": true,
"noImplicitReturns": true,
"noImplicitAny": true
},
"include": ["src/**/*"],
"references": [{ "path": "../shared" }]
}
Aquí está el archivo con problemas - person.ts:
import { guid } from "../../Shared";
class Person {
id: string;
name: string;
constructor() {
this.id = guid();
}
}
El compilador de TS muestra un error con "No se puede encontrar el módulo '../../Shared'"
¿Qué estoy haciendo mal al intentar importar la función guid? Cualquier ayuda sería apreciada
Respuesta #1
Necesitas usar la ruta relativa completa al archivo del que estás importando, tal como lo harías si el archivo estuviera en el mismo proyecto:
import { guid } from "../../Shared/src/utils";
