我正在尝试让一个 preact 库与 expo/react-native 一起工作
它可以在 webpack 中使用这个别名在网络上查找:
// webpack.config.js
const createExpoWebpackConfigAsync = require('@expo/webpack-config');
module.exports = async function(env, argv) {
const config = await createExpoWebpackConfigAsync(env, argv);
config.resolve.alias = {
...config.resolve.alias,
'preact': 'react'
}
return config;
};
但是在 android 上我得到一个错误:Unable to resolve "preact"from "node_modules/.../...
.
有谁知道如何在网络之外使用相同类型的别名?
最佳答案
我无法找到一个解决方案,让 webpack 的别名可以在 Android 上的 Web 之外使用。由于典型的 invalid Hook call caused by duplicate React modules being used.,我需要它
据说 Yarn 工作区也可以解决这个问题,但我无法让它工作。
我找到的解决方案是更新我的本地库的 devDependencies
并且稍微轻松一点,这样它们都使用与主项目的 dependencies
中使用的相同的 React 模块。
- app
|
|-- package.json dependency: "react":"18.1.0"
- local_library
|
|-- package.json devDependency:
"react": "file:../../../node_modules/react",
关于react-native - 我可以通过 expo 获得在 android 上工作的 webpack 解析别名吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60918258/