EAS 构建找不到 aws-exports

Fel*_*sar 6 typescript fastlane expo aws-amplify

我有一个使用 AWS Amplify 的 Expo 项目。我目前正在使用 Expo 的 EAS 在移动设备上进行部署。

\n

我经常遇到这个错误:

\n
\xe2\x9d\x8c Metro encountered an error:\nUnable to resolve module ./src/aws-exports from /Users/expo/workingdir/build/App.tsx:\n\nNone of these files exist:\n  * src/aws-exports(.native|.ios.ts|.native.ts|.ts|.ios.tsx|.native.tsx|.tsx|.ios.js|.native.js|.js|.ios.jsx|.native.jsx|.jsx|.ios.json|.native.json|.json)\n  * src/aws-exports/index(.native|.ios.ts|.native.ts|.ts|.ios.tsx|.native.tsx|.tsx|.ios.js|.native.js|.js|.ios.jsx|.native.jsx|.jsx|.ios.json|.native.json|.json)\n  11 | import Amplify from 'aws-amplify';\n> 12 | import awsconfig from './src/aws-exports';\n  15 | Amplify.configure(awsconfig);\n
Run Code Online (Sandbox Code Playgroud)\n

但是,我确实有该文件aws-exports,并且可以在本地正常运行。有时我可以毫无问题地构建。还没有弄清楚它何时发生或不发生的模式。

\n

我怀疑这可能与gitignore(我认为EAS可能会在上传到服务器之前检查它)有关。我已经尝试运行该命令--clear-cache,但没有注意到任何效果。

\n

关于我能做什么有什么建议吗?:)

\n

Giv*_*nga 13

有时变化aws-exports.js太频繁,如果您选择 Base64 路线,您需要记住始终更新它。另一种方法(如果不是更好的方法)是创建一个.easignore文件并复制 .gitignore 的内容,然后排除该aws-exports.js文件。

EAS 将使用.easignore而不是.gitignore,您无需再执行任何操作。

  • 请注意,如果存在“.easignore”,则所有“.gitignore”(即使在子目录中)也不会受到尊重。只有“.esignore”才是。 (4认同)