我想为博览会分发一个包。这个包是在 expo SDK36 中构建我的应用程序时创建的。
像许多 expo 依赖项一样,我大量使用.ios.js
,.android.js
和.web.js
扩展。
在导入我在 npm 上分发的源时,解析器只导入.js
,没有任何区别。
作为一个例子,这个包应该与 expo 一起使用:
这是已@expo/webpack-config
解决的扩展:
[
".web.expo.ts",
".web.expo.tsx",
".web.expo.mjs",
".web.expo.js",
".web.expo.jsx",
".expo.ts",
".expo.tsx",
".expo.mjs",
".expo.js",
".expo.jsx",
".web.ts",
".web.tsx",
".web.mjs",
".web.js",
".web.jsx",
".ts",
".tsx",
".mjs",
".js",
".jsx",
".json",
".wasm"
]
但事实并非如此,我必须通过在源代码中添加后缀来手动导入.web
.
我如何配置expo
或我的分布式包以便能够在导入源时为每个环境导入正确的源node_modules
?
编辑
我期望我的扩展与我的main
领域一起工作是错误的package.json
,我已经重新配置了我的回购:
/home/dka/workspace/github.com/yeutech-lab/react-cookiebot/src
├── CookieBot.js
├── CookieBot.native.js
└── index.js
问题 :
- 我已经使用
.native.js
了,所以我的 reactjs 用户(不仅是 expo 和 react-native 用户)将.js
默认导入文件 - 由于(1),其他响应用户(既不是 react-native 也不是 expo)不需要某种额外的配置来支持 react-native扩展
.web.js
、.ios.js
、.android.is
和。.native.js
.js
- 如果我确实更喜欢(1),我的 react 用户将无法像(2)
.web.js
那样做,在这种情况下:他们在项目中配置 react-native 扩展的方式是什么? - 对于所有 react-native 用户,我可以知道在本地项目中可以配置扩展的位置吗?(我相信可以在 webpack 中配置 web 项目
config.resolve.extensions
)