打字稿导入文本文件“错误TS2307:找不到模块”

时间:2018-08-15 16:52:20

标签: typescript import module

我想将文本文件导入到我的打字稿文件中,然后简单地打印它。

index.ts 文件:

import d from "./a.txt";
console.log(d);

txt.d.ts 文件:

declare module "*.txt" {
  const value: string;
  export default value;
}

tsconfig.json 文件:

{
  "compilerOptions": {
    "module": "system"
  }
}

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"
  }
}

但是它给了我这个错误

  
    

tsc“ index.ts”

  
     

index.ts:1:15-错误TS2307:找不到模块'./a.txt'。

     

1从“ ./a.txt”导入d;

     

npm错误!代码ELIFECYCLE npm ERR! errno 2 npm错误! test@1.0.0 tsc:   tsc "index.ts" npm错误!退出状态2 npm ERR! npm ERR!失败于   test@1.0.0 tsc脚本。 npm ERR!这可能不是问题   与npm。上面可能还有其他日志记录输出。

     

npm错误!有关此运行的完整日志,请参见:npm ERR!
  C:\ Users \ SOstad \ AppData \ Roaming \ npm-cache_logs \ 2018-08-15T16_45_37_115Z-debug.log

文件结构:

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

1 个答案:

答案 0 :(得分:1)

由于您仅运行tsc index.ts,因此没有强制执行txt.d.ts的加载。假设您有一个tsconfig.json文件,则可能意味着要运行tsc -p .。除非您使用捆绑程序以您假定的格式捆绑文本文件,否则在运行时这仍然无法正常工作。