29

私の Mac には大文字と小文字を区別しないファイル システムがあるため、ローカルでテストを実行する場合、大文字と小文字に関連するタイプミスは検出されませんが、Linux を実行しているビルド サーバーでは失敗します。

例: Lion で実行require('./mymodule')すると検出されますが、Linux では検出されません。./myModule.js

サーバー上のビルドを壊さないようにローカルでもテストを失敗させたいので、ファイル名が正確ではありません (つまり、大文字と小文字が異なります)。

これを達成する方法を知っている人はいますか?

編集

この問題の良い解決策がないように思えたので、私はvaliquireを作成しました。

このツールは、nodejs プロジェクト全体で見つかったすべての要件を検証し、大文字と小文字が正しいことを確認します。

4

6 に答える 6

2

hfs ファイルシステムでは大文字と小文字が区別されないため、'fileName' のルックアップは OS lib レベルで 'filename' と一致するため、node.js は同じように動作します。したがって、定義上、回避策はありません。

ただし、再フォーマットの代償を払って、fs 形式を変更して hfs の大文字と小文字を区別することができます。

http://www.coriolis-systems.com/iPartition.phpはこのスレッドで言及されています: https://superuser.com/questions/380330/mac-convert-from-case-sensitive-to-case-insensitive-file -システム

于 2014-09-09T15:33:28.330 に答える
-6

ファイル名には常に小文字を使用してください。そうすれば、ファイルシステムが小文字をサポートしているかどうかを気にする必要はありません。

人々が URL にスペースを使用していた時代を思い出します。

于 2012-11-29T03:41:12.517 に答える