gpt4 book ai didi

typescript +webpack : typescript emmited no output for index. d.ts

转载 作者:搜寻专家 更新时间:2023-10-30 21:08:53 25 4
gpt4 key购买 nike

我关注了this tutorial成功设置 typescript+webpack(无 react )。在我将 index.d.ts 文件添加到我的组件文件夹之前,一切都很好,我用它来导出我的所有模块,例如:

export * from "./MyClass1";
export * from "./MyClass2";
export * from "./MyClass2";

然后我导入它:

import * as MyLib from "./components";

代码提示和 sublime 编辑器中的一切正常。

最初,当我运行它时,我有:

无法解析"file"或“目录”./components

所以我将 d.ts 添加到 webpack.config.js 的扩展中:

 resolve: {
extensions: ["", ".webpack.js", ".web.js", ".ts", ".tsx", ".js", ".d.ts"]
},

现在,当我运行 webpack 时,我得到这个错误:

Typescript 没有发出 [...]\index.d.ts 的输出

我该如何解决这个问题?

最佳答案

在这个特定问题中,index.d.ts 的内容不是定义,而是一个模块,应该移到 index.ts 文件中。我也遇到了错误“typescript emmited no output for index.d.ts”但是有有效的声明文件。

ts-loader 似乎试图将 .d.ts 文件添加到最终包中,但没有找到要添加的内容,因为它们仅包含构建期间类型检查所需的声明.

我的工作解决方案不是将 .d.ts 文件传递​​给 ts-loader 而是传递给一些什么都不做的加载器,例如。 G。 ignore-loader .我的 webpack.config.js 中的相应规则是:

{
test: /\.tsx?$/,
loader: 'ts-loader',
exclude: /node_modules|\.d\.ts$/
},
{
test: /\.d\.ts$/,
loader: 'ignore-loader'
},
如果您使用 ES2018,

ts-loader 的配置可能会略有不同,其中添加了正则表达式的否定回顾:

{
test: /(?<!\.d)\.tsx?$/,
loader: 'ts-loader',
exclude: /node_modules/
},
//same ignore-loader config here

关于 typescript +webpack : typescript emmited no output for index. d.ts,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38231645/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com