javascript - preact 项目导入在不同操作系统上失败

标签 javascript centos preact

我正在使用 preact build 运行一个 preact 项目并按如下方式进行导入:

从 'async?name=presenceToggleAlert!components/alerts/PresenceToggleAlert' 导入 PresenceToggleAlert;

我的实际路线是components/alerts/presenceToggleAlert(不带大写P)

我已经在MacOS、ubuntu和windows上测试过并且工作正常,但是现在我的jenkins服务器外壳突然出现问题,抛出错误如下:

✖ ERROR ./components/alerts/alertContainer/index.js
Module not found: Error: Can't resolve 'components/alerts/PresenceToggleAlert' in './src/components/alerts/alertContainer'
 @ ./components/alerts/alertContainer/index.js 39:0-103 131:22-41
 @ ./components/framework/page/index.js
 @ ./index.js

有人知道可能是什么问题吗?我不明白为什么它可以在本地工作,但不能在远程计算机上工作。

我的服务器在 CentOS 6.5 上运行,并且 Jenkins 版本为 2.263.4

最佳答案

Linux 文件系统(在您的例子中是 CentOS)区分大小写,而 Windows 文件系统不区分大小写。对于 MacOS,这取决于您在安装时选择的内容。

将代码更改为小写p,因为那是实际文件所在的位置。所以应该是这样

import PresenceToggleAlert from 'async?name=presenceToggleAlert!components/alerts/presenceToggleAlert';

或者,如果您想重命名文件本身,那么在 Window 上,您不能简单地更改大小写。它通常会被 Git 忽略,并且不会提交任何内容。分两步提交。首先将文件更改为某个临时名称。然后进行提交。再次将临时文件重命名为您想要的实际文件,然后再次提交。此外,在推送更改之前,您可以简单地将您的提交压缩为一次提交。

关于javascript - preact 项目导入在不同操作系统上失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66393722/

相关文章:

javascript - 按下 html 按钮时显示网页的 html 代码

asp.net - 从服务器检索值时,ASP.NET AJAX 如何工作?

javascript - 如何在 javascript 中取消选择/取消焦点文本字段

centos - 对 iptables 的更改没有效果。我的脚本有什么问题?

reactjs - 如何在 React/Preact 中传递条件子项(又名 <If> 组件)

javascript - Node.js:1D 与 2D 数组中的 100M 个元素——意外的内存问题

尽管传递了参数,但 REST Api 调用失败,因为缺少参数

email - 如何让电子邮件在 CentOS 6 的 phpBB 上工作?遇到 PHP 错误

javascript - 将状态传递给 preact 组件

javascript - Preact 错误 : "objects are not valid as a child. Encountered an object with the keys {}" when using async await in root component