【发布时间】:2021-09-27 16:22:47
【问题描述】:
我正在 Typescript 和 React 中创建一个新库。
但是我的tsconfig有问题,因为当我查看dist目录时,只有打字稿定义,而javascript中的没有代码,所有代码都被删除了!
我的tsconfig.json
{
"compilerOptions": {
"target": "es6",
"module": "es6",
"lib": ["es6", "dom"],
"allowJs": true,
"jsx": "react",
"declaration": true,
"emitDeclarationOnly": true,
"declarationMap": true,
"outDir": "dist",
"rootDir": "lib",
"strict": true,
"moduleResolution": "node",
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true
},
"exclude": ["lib/**/*.spec.tsx", "lib/**/*.stories.tsx", "lib/**/*.styles.tsx", "lib/settings/*.ts", "dist/**/*"]
}
这里是输出文件的示例(在 dist 目录中)
Button.d.ts
import React from 'react';
export declare class ButtonProps {
label: string;
buttonStyle: 'default' | 'primary';
disabled: boolean;
iconLeft: string;
iconRight: string;
}
declare const Button: React.FunctionComponent<ButtonProps>;
export default Button;
//# sourceMappingURL=Button.d.ts.map
并且在任何其他文件中都没有代码!
我做错了什么?所有代码都在构建中(使用tsc 构建),只有类型定义。
【问题讨论】:
-
"emitDeclarationOnly": true,似乎是问题 -
关闭
emitDeclarationOnlytypescriptlang.org/tsconfig#emitDeclarationOnly
标签: typescript tsconfig tsc