Typescript importar archivo de texto "error TS2307: No se puede encontrar el módulo"
Quería importar un archivo de texto a mi archivo de TypeScript y simplemente imprimirlo.
Archivo index.ts:
import d from "./a.txt";
console.log(d);
Archivo txt.d.ts:
declare module "*.txt" {
const value: string;
export default value;
}
Archivo tsconfig.json:
{
"compilerOptions": {
"module": "system"
}
}
Archivo package.json:
{
"name": "test",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"tsc": "tsc",
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"typescript": "^3.0.1"
}
}
pero me está dando este error:
tsc "index.ts"
index.ts:1:15 - error TS2307: No se puede encontrar el módulo './a.txt'.
1 importar d desde "./a.txt";
npm ERR! código ELIFECYCLE npm ERR! errno 2 npm ERR! [email tsc: tsc "index.ts" npm ERR! Estado de salida 2 npm ERR! npm ERR! Falló en el script tsc de [email . npm ERR! Probablemente esto no sea un problema con npm. Es probable que haya información de registro adicional más arriba.
npm ERR! Un registro completo de esta ejecución se puede encontrar en: npm ERR!
C:\Users\SOstad\AppData\Roaming\npm-cache_logs\2018-08-15T16_45_37_115Z-debug.log
estructura de archivos:
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 8/15/2018 11:50 AM node_modules
-a---- 8/15/2018 12:40 PM 12 .gitignore
-a---- 8/15/2018 12:22 PM 20 a.txt
-a---- 8/15/2018 12:45 PM 112 index.js
-a---- 8/15/2018 12:25 PM 43 index.ts
-a---- 8/15/2018 11:50 AM 363 package-lock.json
-a---- 8/15/2018 11:51 AM 270 package.json
-a---- 8/15/2018 12:25 PM 59 tsconfig.json
-a---- 8/15/2018 12:25 PM 78 txt.d.ts
Respuesta #1
Dado que solo ejecutas tsc index.ts, nada está forzando a que se cargue txt.d.ts. Dado que tienes un archivo tsconfig.json, probablemente quieras ejecutar tsc -p .. Esto aún no funcionará en tiempo de ejecución a menos que estés usando un empaquetador que incluya el archivo de texto en el formato que estás suponiendo.