Joh*_*man 6 javascript typescript es6-modules
我有一个用 TypeScript 编写的模块(演示源代码在这里:https://github.com/thejohnfreeman/bugs/tree/dece04bc4353bfc3f100c11fd38a4bb76cfcad67/parent)它有两个源文件:
// src/index.ts
export { String } from './types'
Run Code Online (Sandbox Code Playgroud)
// src/types.d.ts
export type String = string
Run Code Online (Sandbox Code Playgroud)
我可以构建parent为 JavaScript 模块:
yarn
npx tsc --project tsconfig.json --outDir out --module esnext
Run Code Online (Sandbox Code Playgroud)
它只编译.ts文件,并生成我所期望的,一个导出空对象的 JavaScript 模块:
// src/index.ts
export { String } from './types'
Run Code Online (Sandbox Code Playgroud)
但是,如果我更改.ts文件以导出文件中的所有内容.d.ts,如下所示:
// src/index.ts
export * from './types'
Run Code Online (Sandbox Code Playgroud)
然后我在输出中得到相同的重新导出语句:
// src/types.d.ts
export type String = string
Run Code Online (Sandbox Code Playgroud)
并且由于该.d.ts文件不产生.js输出,因此导入
'./types'是悬空的。
这是一个错误吗?我希望 TypeScript 能够识别出重新导出的所有内容
'./types'都是类型声明,并且该export * from './types'行将被编译为空,就像我手动命名了每个导出一样
'./types'。
我正在使用 TypeScript 4.2.4。
| 归档时间: |
|
| 查看次数: |
2834 次 |
| 最近记录: |