@_PP 您好,正好有另一个npm相关的问题想问一下:
我有一个自己构建的 npm 包,因为是放在私有源的,就不提供复现代码了,我尽量描述一下情况:
假设有一个叫api
包,其中是这样的:
// index.ts
export const apiBase = ...
我使用 npm 在cocos 项目中安装了这个包,并且将tsconfig.json
中的allowSyntheticDefaultImports
设为true
。接下来做如下测试:
import api from "api";
console.log({ api });
控制台正常,接下来将代码换成:
import * as api from "api";
console.log({ api });
将发现 default 重新出现了。进一步的,如果使用 deconstruct 语法进行引入:
import { apiBase } from "api";
console.log({ apiBase });
会导致循环引用并无法获得导出的对象:
进一步发现,这样引入同样是引入到了 default 对象中,即:
import { default as _default } from "api";
console.log({ _default });
同样的问题出现在另一篇帖子里:
请问npm包该如何引入cocos中使用? - Creator 3.x - Cocos中文社区