TypeScript:模块“@aaa/bbb” 没有导出的成员“ccc”。

用了import * as temp from "./utils"的方式引入更名到utils变量上,然后用...扩张运算符,最后再export default{...temp}导出去,貌似这样TS是无法识别到utils.ts中的方法的。
没成员提示

阅读 3.7k
1 个回答

跟 TS 没有关系。

根本原因是你混淆了部分导入的语法对象解构的语法。即便用 JS 也是一样的。

// A.js
export default {
   isObject: function() {}
}

// B.js
import { isObject } from './A'; // WRONG!

import A from './A';
A.isObject(); // OK
// A.js
export const isObject = function() {}

// B.js
import { isObject } from './A'; // OK

默认导出就是默认导出,它并不能在导入时解构,因为那个压根就不是解构语法,而是 Named Imports。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题