reactjs - React 应用程序在 localhost 中运行良好,但在服务器上构建并在本地构建时显示错误
问题描述
所以我的反应应用程序在一开始就完美运行。我重新组织了文件夹结构并重命名了一些文件以使其更干净。之后,它现在可以在 localhost 中完美运行,但是当我尝试在 AWS 中构建它时出现错误:
yarn run v1.22.15 $ react-scripts build && aws s3 sync build/ s3://$FRONTEND_S3 && aws cloudfront create-invalidation --distribution-id $CF_DIST_ID --paths '/*' 创建优化的生产版本...
编译失败。./src/components/reports/inventoryVarianceSummary/accounts/InventoryVarianceAccountStores.js 在“./src/components/reports/inventoryVarianceSummary/accounts”中找不到文件“../../../modal/inventoryVarianceSummary/ExportTableAccountStores”。
error 命令失败,退出代码为 1。 info 访问 https://yarnpkg.com/en/docs/cli/run以获取有关此命令的文档。
我试图在我的电脑上执行 npm run build 然后它显示错误
frontend@0.1.0 build react-scripts build
创建优化的生产版本...编译失败。
src\components\reports\inventoryVarianceSummary\accounts\InventoryVarianceAccountStores.js 第 268:14 行:'ExportTableClassificationStores' 未定义 react/jsx-no-undef
搜索关键字以了解有关每个错误的更多信息。
这些文件是我移动/重命名的文件之一,现在它显示错误。我仔细检查了文件路径,它是正确的。该应用程序在 localhost:3000 中完美加载。
另一个奇怪的事情是,当我导航到给定行时,在 npm run build 上显示的 ExportTableClassificationStores 是 ExportTableAccountStores。所以好像没有更新?但随后 AWS 错误显示 ExportTableAccountStores 并且仍然找不到它......
有什么帮助吗?我尝试运行 npm cache verify 但它不起作用。
解决方案
此错误可能不止一种情况发生,但一般情况下,您需要检查以下几点:
- 请检查 File.js 名称是否正确,其调用是否正确,例如:
import File from "File"
notimport File from "file"
- 请确保您没有从两个不同的模块两次导入相同的模块,例如:
import Menu from "Modle1/Menu";
import Menu from "./Modle1/Menu";
- 可以直接导入模块而不加载默认导出,例如:
import "module"
嵌套的import Module from "./Module"
- 由于您正在移动/重命名文件,因此请确保路径不会更改到错误的位置,或者不会更改为旧位置,例如:
import Module from "../A/B"
并且在移动它"../../A/B"
但实际上它必须是"../../../A/B"
- 确保在导入模块上溢出,例如:
import module from "Module"
将是错误的,它必须是import Module from "Module"
- 确保导入默认导出,但是有些模块没有默认导出,所以你必须确定你需要包含哪个模块,例如:
import M from "Module"
大多数是:import {M} from "Module";
并确保检查文件夹/文件名的拼写是否正确,并且您的导入也正确!任何缺少的大写字母或小写字母都可能会导致意外错误。并在此之后检查 CamelCase 规则..
注意:这种情况有时会在不同的操作系统之间发生,例如 windows 不像 windows ......因此上述检查将解决问题
推荐阅读
- grafana - 如何在启动时将 Grafana 仪表板加载到文件夹中?
- ios - 找不到“firebase_messaging/FirebaseMessagingPlugin.h”文件
- java - 加密 Deflate 并编码为 Base64 Xml
- azure-sphere - 找不到需要的项目
- c# - 如何在 C# 中中途终止方法执行?
- python-3.x - Prgm_MAWS:“IndexError:列表索引超出范围”
- django - 将用户名与模型一起保存在数据库中
- javascript - 参数在 AJAX 调用期间不包含 NULL 条目
- php - 在 Laravel 中以编程方式执行 Artisan CLI 命令失败
- arrays - 如何从字符串创建一个单独的字符串数组