typescript 无法从node_modules解构导入,但可以从文件

ckocjqey  于 2022-12-05  发布在  TypeScript
关注(0)|答案(1)|浏览(156)

我在写我的vite程序时发现了一个奇怪的行为,

import { Store } from '@decky.fx/react-native-essentials/lib/index';

上面的代码工作正常,但如果我将其更改为

import { Store } from '@decky.fx/react-native-essentials';

存储将产生未定义的
我必须像这样加载所有模块

import All from '@decky.fx/react-native-essentials';
All.Store // this is working

模块的json包如下所示

...
"main": "lib/index.js",
"types": "lib/index.d.ts",
...

你知道为什么它会这样吗?仓库在https://github.com/deckyfx/react-native-essentials/example
应该能够像react库那样解构模块react, {useState} from "react"

owfi6suc

owfi6suc1#

嘿,不确定,但我认为它发生,因为import { Store } from '@decky.fx/react-native-essentials'正在寻找react-native-essentials中的store,但它不在该文件中,它在它的子文件夹中,react-native-essentials/lib/index不在根目录中,所以这就是为什么你不能从react-native-essentials中解构它,至于为什么这是工作import All from '@decky.fx/react-native-essentials';,因为你从文件中导入一切,甚至其子文件/文件夹中。
在本例中,react, {useState} from "react" react将所有内容都保存在“react”文件中,这就是它工作的原因import{useSatte} from react

相关问题