【发布时间】:2018-08-11 23:01:11
【问题描述】:
我正在尝试输入dynamic-cdn-webpack-plugin,但是我有点卡住了。在库中,模块导出为module.exports = require('./lib').default;
通过我的打字,我得到:
错误 TS2351:无法将“new”与类型缺少调用或构造签名的表达式一起使用。
declare module "dynamic-cdn-webpack-plugin" {
import * as webpack from "webpack";
interface Options {
disable?: boolean;
env?: string;
exclude?: string[];
only?: string[];
verbose?: boolean;
resolver?: () => {
name: string;
var: string;
url: string;
version: string;
};
}
export class DynamicCdnWebpackPlugin extends webpack.Plugin {
constructor(options?: Options);
}
}
如果我将其更改为 export default class,那么我会得到 p>
发射跳过
我的猜测是我必须以某种方式指出 DynamicCdnWebpackPlugin 是该库的默认导出,但我想不出办法
【问题讨论】:
-
错误出现在哪一行?
-
当我在 webpack.config.ts 中使用插件时会发生这种情况:new DynamicCdnWebpackPlugin()
-
在webpack.config.ts中,DynamicCdnWebpackPlugin的导入是什么样子的?
-
import DynamicCdnWebpackPlugin from "dynamic-cdn-webpack-plugin"; -
从类型检查的角度来看,
export default class似乎是正确的。成功编译 webpack.config.ts 后,“Emit skipped”是否是在您的项目上运行 Webpack 时出现的错误消息?如果是这样,那是我无法帮助解决的与 Webpack 相关的问题,我们应该将 webpack 标签添加到问题中。
标签: typescript