我正在使用webpack 3.8.1并且正在接收以下构建警告的几个实例:
WARNING in ./src/Components/NavBar/MainMenuItemMobile.js
There are multiple modules with names that only differ in casing.
This can lead to unexpected behavior when compiling on a filesystem with other case-semantic.
Use equal casing. Compare these module identifiers:
* /Users/path/to/babel-loader/lib/index.js!/Users/path/to/NavBar/MainMenuItemMobile.js
Used by 1 module(s), i. e.
/Users/path/to/babel-loader/lib/index.js!/Users/path/to/NavBar/ConstructedMainMenuItems.js
* /Users/path/to/babel-loader/lib/index.js!/Users/path/to/Navbar/MainMenuItemMobile.js
Used by 1 module(s), i. e.
/Users/path/to/babel-loader/lib/index.js!/Users/path/to/Navbar/ConstructedMainMenuItems.js
.....
(webpack)-hot-middleware/client.js ./src/index.js
Run Code Online (Sandbox Code Playgroud)
令人困惑的是,引用的"两个"文件只是一个文件 - 目录中没有两个文件,其名称仅在大小写上有所不同.
我还注意到,如果受到这些警告的影响,我的热重新加载器通常不会对文件进行更改.
可能导致此问题的原因是什么?
由于我的Mac具有不区分大小写的文件系统案例,因此在本地运行测试时不会捕获相关的拼写错误,但是在运行Linux的构建服务器上它们会失败.
例如:在Lion上运行时require('./mymodule')会发现./myModule.js,但在Linux上运行时则不会.
因为我想让测试在本地失败以便不破坏服务器上的构建,所以我正在寻找一种方法来使node.js需要更严格,因为如果文件名是不精确(即套管有差异).
有谁知道这样做的方法?
编辑:
由于这个问题似乎没有很好的解决方案,因此我创建了valiquire.
此工具验证在整个nodejs项目中找到的所有需求,同时确保外壳正确.
错误TS1149:文件名'C:/Project/frontend/scripts/State.ts'仅在大小写方面与已包含的文件名'../frontend/scripts/State.ts'不同。
我已经三遍检查了参考资料中的大小写,实际文件中的大小写也正确。据我所知,这仅仅是因为相对路径使用了不正确的大小写,还是仅由于相对路径本身?
事实是,它在Mac和Linux上可以正常编译,但在Windows上会引发此错误。
如果有帮助,请forceConsistentCasingInFileNames在tsconfig中启用它,然后使用tsify进行编译。
我试图在系统中带来一个已经存在的代码库.version controlgit
我面临一个特殊问题,其中代码库包含两个具有相同名称但不同情况的文件夹,如"表单"和"表单".
下面是场景:假设我们有三个系统Linux(区分大小写的文件系统),MAC(不区分大小写)和WINDOWS(不区分大小写)
现在,如果有人在LINUX创建一个文件夹名称FORM为文件a.php,b.php,c.php和另一个文件夹名称form为文件a.php,b.php,d.php并将其推到远程回购
现在,当MAC或WINDOWS上的用户克隆repo时FORM,git在处理和form来自远程时将如何表现,因为MAC和WINDOWS不区分大小写
我的 next.js 应用程序在我的机器上运行,并且在部署在 Vercel 上时可以正常工作,但现在在 Vercel 上构建时失败并出现以下错误:
我试过删除 node_modules 并运行npm install几次,但没有任何乐趣。
任何帮助将不胜感激。谢谢!
运行“NPM运行构建” 20:43:24.926
tdwcks@1.0.0构建/ vercel / 5ccaedc9 20:43:24.926
下一个构建20:43:24.967
内部/模块/ CJS / loader.js:983 20:43:24.967
掷呃; 20:43:24.967
^ 20:43:24.967
错误:找不到模块“../build/output/log” 20:43:24.967
需要堆栈:20:43:24.967
- /vercel/5ccaedc9/node_modules/.bin/接下来 20:43:24.967
在 Function.Module._resolveFilename (internal/modules/cjs/loader.js:980:15) 20:43:24.967
在 Function.Module._load (internal/modules/cjs/loader.js:862 :27) 20:43:24.967
在 Module.require (internal/modules/cjs/loader.js:1042:19) 20:43:24.967
在需要 (internal/modules/cjs/helpers.js:77:18) 20:43:24.967
在对象。(/vercel/5ccaedc9/node_modules/.bin/next:2:46) 20:43:24.967
在 Module._compile (internal/modules/cjs/loader.js:1156:30) 20:43:24.967
在 Object.Module ._extensions..js (internal/modules/cjs/loader.js:1176:10) 20:43:24.967
at Module.load (internal/modules/cjs/loader.js:1000:32) 20:43:24.967
at Function.Module._load (internal/modules/cjs/loader.js:899:14) 20:43:24.967
在 Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:74:12) { 20:43 :24.967 …
我正在Unity3DUnity17.2.1中开展一个项目
我在Windows 10上使用git Git-LFS和SourceTree.
在我的本地克隆一切正常.
但是如果我在一个新文件夹中克隆项目(用于测试),我会遇到很多错误.它可以LFS很好地下载大多数文件轨道,但对于其中一些我得到:
下载对象时出错:Assets/VRITM/_Prefabs/SceneGraph/NetworkManager/DebugHUD/ConfigurationPanel/InputField.prefab(3a0c39040b397ab7120d427e019ad767b2bd6b91386856f9730507be1b59ad3c)
我可以以某种方式在本地恢复"复制"(新克隆的)项目,因为我已将整个Assets-Folder从我的工作本地克隆导出为unitypackage.
但在这样做之后,git仍然声称它是"最新的"所以我不能再次提交/推送.
如何修复远程存储库(github)上的LFS跟踪文件?
因为我已经在我的本地克隆上工作正常了所以我想必须有某种方式来"强制" git-lfs上传所有文件,就像我拥有它们一样.
另外,我有两个在合并之前重命名的脚本:
在主服务器上它是
DebugHUDManager.cs
ConfigurationHUDManager.cs
Run Code Online (Sandbox Code Playgroud)
但我将类和文件重命名为
DebugHudManager.cs
ConfigurationHudManager.cs
Run Code Online (Sandbox Code Playgroud)
所以在我的本地(工作)克隆中我有后来当我新克隆时我得到以前的文件(..HUD ..)因此GameObject只附加了缺少的脚本.我可以通过再次重命名文件来解决这个问题.但这也没有在git中跟踪.它一直说"最新".
这是我的.gitattributes:
# Unity
*.cginc text
*.cs diff=csharp text
*.shader text
# Unity YAML
*.anim merge=unityyamlmerge eol=lf
*.asset merge=unityyamlmerge eol=lf
*.controller merge=unityyamlmerge eol=lf
*.mat merge=unityyamlmerge eol=lf
*.meta merge=unityyamlmerge eol=lf
*.physicsMaterial merge=unityyamlmerge eol=lf
*.physicsMaterial2D merge=unityyamlmerge eol=lf
*.prefab merge=unityyamlmerge eol=lf
*.unity merge=unityyamlmerge eol=lf
# Unity LFS
*.cubemap …Run Code Online (Sandbox Code Playgroud) 我的 nuxt 应用程序在本地运行没有问题,但是当我尝试将站点部署到 Netlify 时,出现如下错误:
“未找到模块:错误:无法解析‘/opt/build/repo/layouts’中的‘~/components/Navbar.vue’”
我收到以下错误:
ERROR in ./layouts/default.vue?vue&type=script&lang=js& (./node_modules/babel-loader/lib??ref--2-0!./node_modules/vue-loader/lib??vue-loader-options!./layouts/default.vue?vue&type=script&lang=js&)
6:49:50 PM: Module not found: Error: Can't resolve '~/components/Navbar.vue' in '/opt/build/repo/layouts'
6:49:50 PM: @ ./layouts/default.vue?vue&type=script&lang=js& (./node_modules/babel-loader/lib??ref--2-0!./node_modules/vue-loader/lib??vue-loader-options!./layouts/default.vue?vue&type=script&lang=js&) 8:0-45 11:12-18
6:49:50 PM: @ ./layouts/default.vue?vue&type=script&lang=js&
6:49:50 PM: @ ./layouts/default.vue
6:49:50 PM: @ ./.nuxt/App.js
6:49:50 PM: @ ./.nuxt/index.js
6:49:50 PM: @ ./.nuxt/client.js
6:49:50 PM: @ multi ./.nuxt/client.js
Run Code Online (Sandbox Code Playgroud)
请帮忙,提前致谢。
我试图部署到 Vercel 我之前已经在其他项目中完成了它,但在这种情况下,构建失败,它提到它没有找到页脚组件,构建在本地机器上完美运行。
11:55:14.850 Cloning completed in 533ms
11:55:14.851 Analyzing source code...
11:55:17.183 Installing build runtime...
11:55:17.605 Build runtime installed: 422.099ms
11:55:18.023 Looking up build cache...
11:55:18.054 Build cache not found
11:55:18.481 Installing dependencies...
11:55:18.694 yarn install v1.22.4
11:55:18.757 [1/4] Resolving packages...
11:55:19.090 [2/4] Fetching packages...
11:55:27.361 info fsevents@2.1.3: The platform "linux" is incompatible with this module.
11:55:27.361 info "fsevents@2.1.3" is an optional dependency and failed compatibility check. Excluding it from installation.
11:55:27.365 info fsevents@1.2.13: The platform "linux" is incompatible …Run Code Online (Sandbox Code Playgroud) 如何设置路由是否express.static区分大小写?image.jpeg例如,Express 是否应该通过提供名为 的本地文件来处理请求Image.jpeg。
调用时有一个 caseSensitive 选项express.Router([options])(如http://expressjs.com/en/4x/api.html中定义),但这不是调用时的选项express.static(root, [options])(同一链接上的文档)。
默认情况下,从不区分大小写的卷 (/Mac OS X) 到区分大小写的卷 (/Linux),我在提供静态文件时会遇到不同的行为。这会导致我们的应用程序出现不一致的错误 - 大小写不匹配的内容在 Mac OS X 下可以在本地运行,但在部署到 Linux 服务器时会失败。
我有一个 Node.js 项目的 GitHub 工作流文件:
name: NodeJS CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [10.x]
steps:
- uses: actions/checkout@v2
- name: Using Node version ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- run: npm ci
- run: npm run build --if-present
- run: npm test
- name: Upload code coverage
run: bash <(curl -s https://codecov.io/bash) -t $CODECOV_TOKEN
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
Run Code Online (Sandbox Code Playgroud)
项目结构如下:
.
??? package-lock.json
??? package.json
??? src
? ??? api
? …Run Code Online (Sandbox Code Playgroud)