7

私のエディターは、私が作成したソフトウェアのユーザーには関係のないワークスペースファイルとバックアップフォルダーを作成します。各プロジェクトでエディター固有の無視をリストする必要をなくすために、ユーザーレベルまたはグローバルレベルでそれらを無視するようにnpmに指示しようとしています。

残念ながら、私はそうすることができません。最初にnpmキャッシュをクリアした場合でも、プロジェクトフォルダー内で実行npm packすると、ワークスペースファイルと2メガバイトのバックアップファイルの両方が含まれます。(コードが10キロバイトしかないプロジェクトの場合!)ignore構成設定、ユーザーごと.npmignore、およびグローバルを試しましたがnpmignore、すべて効果がありませんでした。

これが私の出力npm config ls -lです。関連するセクションに抜粋しました。

; userconfig C:\Users\benblank\.npmrc
ignore = "__history *.epp"

; builtin config undefined
prefix = "C:\\Users\\benblank\\AppData\\Roaming\\npm"

; default values
globalignorefile = "C:\\Users\\benblank\\AppData\\Roaming\\npm\\etc\\npmignore"
userignorefile = "C:\\Users\\benblank\\.npmignore"

C:\Users\benblank\.npmignoreそして、との(同一の)内容C:\Users\benblank\AppData\Roaming\npm\etc\npmignore

__history
*.epp

私は何が間違っているのですか?私はWindows7、node @ 0.8.9、およびnpm@1.1.61を実行しています。

4

1 に答える 1

2

npmには、ファイルに関連するいくつかの主要な未解決の問題npmignoreがあります。

ありがたいことに、さらに良い選択肢があります!これはpackage.jsonファイルのプロパティです。

これが私のdelivrプロジェクトの例です。

"files": [
  "lib",
  "index.js"
]

なぜそれが良いのですか?

  1. 内部機構により、このメカニズムの信頼性が高まります。
  2. ブラックリストではなくホワイトリストです。通常、フォルダ(または同様のもの)を使用すると仮定すると、含めるファイル/ディレクトリは除外するlibファイル/ディレクトリよりも少ないため、より簡潔になります。
  3. DRYです。.npmignoreファイルが存在する場合は、無視パターンnpmについては参照しません。これには、重複した反復的な情報が必要になることがよくあります。.gitignoreこの問題は、ホワイトリストには存在しません。
  4. リポジトリ内のファイルが1つ少なくなります。package.jsonはすでにパッケージを定義するマニフェストであり、この構成がそこに存在することは非常に理にかなっています。
于 2016-12-28T04:07:47.070 に答える