Il semble que le package inclura tous les fichiers (qui ne sont pas ignorés), même si le package.json
n'a pas "files"
tableau.
Cette propriété est-elle nécessaire?
Pas vraiment, vous pouvez tout faire en utilisant .npmignore
car tous les fichiers sont ajoutés, sauf indication contraire.
Vous pouvez voir plus ici
Vous pouvez penser à la propriété files
dans package.json
as whitelisting tous les fichiers qui devraient être inclus dans une version npm et .npmignore
as blacklisting tous les fichiers qui ( ne doivent pas être inclus.
En règle générale, pour mes propres projets, j'utilise habituellement:
files
lorsque mon projet contient de nombreux fichiers auxiliaires tels que des scripts de construction, des fichiers de configuration, etc., qui n'ont pas besoin d'être inclus dans une version npm.npmignore
lorsqu'il n'y a que quelques fichiers auxiliairesLes deux options sont utiles dans différents scénarios dans mon esprit.
Cet article fait un bon argument pour utiliser la propriété files (une liste blanche, comme l'a dit F Lekschas), au lieu d'utiliser .npmignore. Les raisons incluent:
Notez que certains fichiers sont inclus même si vous ne les ajoutez pas à la liste blanche . Ceux-ci inclus:
package.json
README
CHANGES / CHANGELOG / HISTORY
LICENSE / LICENCE
NOTICE
The file in the “main” field
Modifié pour répondre au commentaire.
Quand il n'y a pas de .npmignore
fichier, le contenu de .gitignore
sera utilisé. Soyez donc prudent lorsque vous ajoutez des répertoires générés comme dist/
à ton .gitignore
car ils pourraient ne pas être dans votre tarball de production. Lorsque cela se produit, vous pouvez utiliser le tableau "files" dans package.json
pour les inclure, car les inclusions de ce fichier ne seront jamais exclues.