在项目中找不到React native-env文件


Unable to resolve module @env from D:reactweathoweatho-appApp.js: @env could not be found within the project

10:import {REACT_APP_WEATHER_API_KEY} from "@env";

我的env文件看起来像这样:

REACT_APP_WEATHER_API_KEY=2607fb610e6f9fecd16c84408d0b42a2

和我的Babel文件看起来像这样:

module.exports = function(api) {
api.cache(true);
return {
plugin: ['babel-preset-expo','module:react-native-dotenv'],
}
}

和我的env文件与Appjson和其他几个文件一起在根文件夹

你应该添加一个这样的插件(Env文件必须在根目录下)

module.exports = function (api) {
api.cache(true);
return {
presets: ["babel-preset-expo"],
plugins: [
[
"module:react-native-dotenv",
{
moduleName: "@env",
path: ".env",
},
],
],
};
};

别忘了重启expo start和ios/android重启应用。

如果你仍然得到相同的问题,那么它可能是一个缓存问题。

您可以通过运行以下命令轻松地清除babel缓存:

rm -rf node_modules/.cache/babel-loader/*

yarn start --reset-cache

expo r -c

你的babel配置中有'plugin',应该是'plugins'

yarn start --reset-cache
npm start -- --reset-cache
expo start -c

解决这个问题的一个很好的方法是替换"@env"与"react-native-dotenv"模块名之后,像这样:plugins:[ [ "module:react-native-dotenv", { moduleName:"react-native-dotenv", path:".env", }, ] ]当你完成后,在你的屏幕示例中实现它:import { API_KEY } from "react-native-dotenv";

您可以尝试对babel.config.js文件进行以下更改,它应该可以正常工作:

module.exports = function (api) {
api.cache(true);
return {
presets: ["babel-preset-expo"],
plugins: [
[
"module:react-native-dotenv",
{
moduleName: "@env",
path: ".env",
},
],
],
};
};

确保你重新启动应用程序几次,看看变化。.env文件需要放在根目录下。

相关内容

  • 没有找到相关文章

最新更新