Búsqueda de sitios web

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.

Artículos relacionados