首页 > 解决方案 > 从打字稿包导入子文件夹?

问题描述

https://github.com/DavidSouther/monots我有一个简单的多项目 Typescript 配置。

common/src/具有库实用程序,并从to编译lib/。is (package.json我相信)设置为向消费者公开.jsand.d.ts文件,并且is in commonjs。lib/.js

server/是一个消费应用程序,无论是 nodejs 还是通过 webpack 捆绑的 (TODO)。与 类似common/,它是从src/to编译的lib/,尽管没有声明,但仍然在 commonjs 中。

运行后(cd common; npx tsc)common/lib填写正确。运行后(cd server ; npm install),tsc 失败并显示

src/index.ts:3:24 - error TS2307: Cannot find module 'common/assert' or its corresponding type declarations.

3 import { assert } from "common/assert";
                         ~~~~~~~~~~~~~~~

从节点的模块加载系统中,这应该找到common/lib/assert/index.jsand common/lib/assert/index.d.ts

什么是规范配置common/package.jsoncommon/tsconfig.json确保任意消费项目能够“就像”注册表中的任何其他包一样对待包?

标签: node.jstypescript

解决方案


推荐阅读