问题现象
声明文件没有默认导出,使用 import xxx from ‘module’ 在另一文件默认导入,编译不报错。
// test.d.ts文件export const addFunction: {add: (a: number, b: number) => number}
// index.ets文件import test from './test'
test.addFunction.add(1,2)
原因说明
此场景编译时不报错,原因是编译时的配置文件中开启了allowSyntheticDefaultImports选项,不仅允许没有默认导出的声明文件让另一文件默认导入,还兼容从那些使用 CommonJS(require)导出模块的库中导入默认导出(default exports),例如可以import default默认导入类似react这样的三方库。
react例:安装@type/react包,使用默认导入的方式,编译不报错。