preact 项目导入在不同 OS 上失败
preact project import fails on different OS
我是 运行 一个 preact 项目 preact build
并按如下方式进行导入:
import PresenceToggleAlert from 'async?name=presenceToggleAlert!components/alerts/PresenceToggleAlert';
我的实际路线是components/alerts/presenceToggleAlert
(没有大写字母P)
我在MacOS上测试过,ubuntu和windows都完美运行,但是此时我的jenkins server的外壳突然出现问题,报错如下:
✖ 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)是 case-sensitive where as Windows in case-insensitive.如果是 MacOS,则取决于您在安装时选择的内容。
将您的代码更改为小写 p
,因为这是实际文件所在的位置。所以应该是
import PresenceToggleAlert from 'async?name=presenceToggleAlert!components/alerts/presenceToggleAlert';
或者,如果您想重命名文件本身,那么在 Window,您不能简单地更改大小写。它通常会被 Git 忽略,并且不会有任何提交。分两步提交。首先将文件更改为某个临时名称。然后做提交。再次将临时文件重命名为您想要的实际文件,然后再次提交。此外,在推送您的更改之前,您可以简单地将您的提交压缩为一个提交。
我是 运行 一个 preact 项目 preact build
并按如下方式进行导入:
import PresenceToggleAlert from 'async?name=presenceToggleAlert!components/alerts/PresenceToggleAlert';
我的实际路线是components/alerts/presenceToggleAlert
(没有大写字母P)
我在MacOS上测试过,ubuntu和windows都完美运行,但是此时我的jenkins server的外壳突然出现问题,报错如下:
✖ 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)是 case-sensitive where as Windows in case-insensitive.如果是 MacOS,则取决于您在安装时选择的内容。
将您的代码更改为小写 p
,因为这是实际文件所在的位置。所以应该是
import PresenceToggleAlert from 'async?name=presenceToggleAlert!components/alerts/presenceToggleAlert';
或者,如果您想重命名文件本身,那么在 Window,您不能简单地更改大小写。它通常会被 Git 忽略,并且不会有任何提交。分两步提交。首先将文件更改为某个临时名称。然后做提交。再次将临时文件重命名为您想要的实际文件,然后再次提交。此外,在推送您的更改之前,您可以简单地将您的提交压缩为一个提交。