我目前正在为TypeScrip中的API编写包装器,但在CommonJS中try 在构建后使用该包装器时,目前遇到了一个问题.
我有一个班级位于BattleMetrics.ts
;
export default class BattleMetrics {
private axios: any;
constructor(token: string) {
....
}
}
然后将该类导入到主文件中,并默认导出;
import BattleMetrics from './src/BattleMetrics';
export default BattleMetrics;
但是,一旦构建完成,如果我创建一个test.js
文件,并编写类似以下内容的内容
const BattleMetrics = require('../../dist/index.js')
const bm = new BattleMetrics('123')
我将得到错误TypeError: BattleMetrics is not a constructor
然而,如果我在typescript中做同样的测试,它工作得很好.在CommonJS中,我需要使用bm = new BattleMetrics.default()
才能让它工作,但我真的宁愿避免这种情况.
如果我编辑编译后的index.js,在.export前面添加"模块",它就会按预期工作.
我如何才能解决这个问题,以便在需要基本文件时能同时在CommonJS和TypeScrip中工作
已更改tsconfig中的导出类型,等未找到解决方案.