我自己的TypeScript模块的“找不到模块”

时间:2019-02-14 17:22:27

标签: node.js typescript npm node-modules

我刚刚向NPM注册中心ooafs发布了一个新的基于TypeScript的模块。但是,当我尝试安装它并将其导入另一个TypeScript项目时,VSCode在import语句上给了我以下错误:Cannot find module 'ooafs'.ts(2307)

此模块的源文件已使用JavaScript编译到dist/文件夹中,并且还会生成定义(.d.ts)。

这是已发布模块的树(在我们npm install时下载的模块):

.
├── dist
│   ├── Entry.d.ts
│   ├── EntryFilter.d.ts
│   ├── EntryFilter.js
│   ├── Entry.js
│   ├── EntryType.d.ts
│   ├── EntryType.js
│   ├── FSTypings.d.ts
│   ├── FSTypings.js
│   ├── index.d.ts
│   └── index.js
├── LICENSE
├── package.json
└── README.md

package.json确实包含以下条目:

{
    "main": "dist/index.js",
    "types": "dist/index.d.ts",
    ...
}

因为模块可以在Runkit(纯JS)上正常工作,所以我认为唯一的问题与TypeScript有关,这不是TypeScript第一次告诉我缺少声明文件时模块不存在的唯一问题。

我在编译过程中缺少步骤了吗? 我的package.json属性错误吗?

如果您需要查看更多代码,则Github链接位于问题的开头,可以在以下位置找到已发布的模块结构:https://unpkg.com/ooafs@0.1.2/dist/

1 个答案:

答案 0 :(得分:1)

实际上,问题不是出自我的模块(哇)。我在以下模块中使用模块的项目的tsconfig.json出现问题:module属性显然必须设置为commonjs