Javascript 网页包可以';找不到Typescript类型解析所需的导入。如何解决这个问题?

Javascript 网页包可以';找不到Typescript类型解析所需的导入。如何解决这个问题?,javascript,typescript,webpack,typescript-typings,webpack.config.js,Javascript,Typescript,Webpack,Typescript Typings,Webpack.config.js,我的项目使用typescript并使用webpack构建 我有一个打字文件,它来自位于node\u modules/@types/libname/custom.d.ts下的第三部分库。该文件有一个命名空间声明,其中包含一些类型: declare namespace MyNamespace { export type A = ...; } 然后,为了能够在我的typescript代码中使用该类型,如下所示: const x: MyNamespace.A; …我需要在应用程序中的某个位置

我的项目使用typescript并使用webpack构建

我有一个打字文件,它来自位于
node\u modules/@types/libname/custom.d.ts
下的第三部分库。该文件有一个命名空间声明,其中包含一些类型:

declare namespace MyNamespace {
    export type A = ...;
}
然后,为了能够在我的typescript代码中使用该类型,如下所示:

const x: MyNamespace.A;
…我需要在应用程序中的某个位置添加以下导入声明:

import 'libname'
哪个tsc正确解析为
node\u modules/@types/libname/custom.d.ts
,所以如果我使用tsc编译,一切都会正常工作

然而,网页包则无法构建。它无法理解此导入:

ERROR in ./Index.tsx
Module not found: Error: Can't resolve 'libname' in 'C:\<path_to_index_file>'
 @ ./Index.tsx 44:0-32
但它失败了,因为它无法理解该文件的语法,并询问我是否缺少加载程序

如何修复此问题,以便webpack能够理解此typings导入语句

我在网页版
4.41.6


谢谢

您应该为此导入使用,这样webpack将忽略它。

如果您改为从'libname'导入{MyNamespace},它是否有效?不在这种情况下,tsc抱怨“TS2306:File'C:\project\node\u modules\@types\libname\custom.d.ts'不是一个模块。”并且它在IDE中出错,并显示相同的消息。所以它找到了,但不能那样导入。我想知道这是否是你的第三方打字的问题,它有导出吗?但是,我认为您可以通过为库声明一个特定的加载程序来绕过这个问题,可能是空加载程序:@Axnyff就是它!空加载程序完成了它。如果你想转移到一个答案,我可以接受。非常感谢。
    resolve: {
        alias: Object.assign({
            'libname$': path.resolve(__dirname, 'node_modules/@types/libname/custom.d.ts'),
        }
    },