web-dev-qa-db-fra.com

Comment inclure les packages JavaScript que j'installe à partir de Nuget?

Peut-être une question stupide. J'ai installé Chart.js à l'aide du gestionnaire de packages. C'est dans l'Explorateur de solutions.

enter image description here

Mais où sont les fichiers JS réels ou comment les obtenir? Lorsque je l'ai installé, il n'y a aucun changement détecté par Git, donc je ne sais pas si quelque chose s'est produit.

19
user7127000

Chart.js 2.5.0 inclut un répertoire Content\Scripts dans son package NuGet qui contient Chart.js et Chart.min.js. Selon le type de projet que vous utilisez, ces fichiers peuvent ou non être ajoutés directement dans votre projet.

Si vous utilisez un projet .NET Framework qui contient un fichier packages.config, les fichiers JavaScript seront ajoutés dans un dossier Scripts de votre projet.

Si vous utilisez un fichier project.json ou que votre projet utilise PackageReferences, rien ne sera ajouté car ce type de projet prend uniquement en charge les fichiers qui se trouvent dans un répertoire contentFiles à l'intérieur du package NuGet. Votre projet ressemble à un projet .NET Core qui utilisera PackageReferences. Le package Chart.js NuGet lui-même sera dans le %UserProfile%\.nuget\packages répertoire si vous avez besoin d'obtenir les fichiers javascript.

La réponse de Tseng qui recommande de passer à l'utilisation de Bower ou du Node Package Manager pour ajouter les fichiers JavaScript semble être la meilleure solution ici au lieu d'utiliser NuGet, qui n'a pas une bonne prise en charge pour ajouter des fichiers source à votre projet pour les nouveaux formats de fichiers de projet.

11
Matt Ward

L'utilisation de NuGet pour les bibliothèques css/javascript est déconseillée. Pour ASP.NET Core, vous devez utiliser les gestionnaires de packages de script/nœud Java Java, bower et npm respectivement.

Vous pouvez utiliser l'un ou l'autre. Bower est plus axé sur les bibliothèques de navigateur et css, tandis que NPM est plus pour les choses côté serveur (en utilisant node.js). Mais node.js contient également la plupart (sinon la totalité) des packages que bower possède, c'est donc une question de préférence. # Pour cela, vous devez sélectionner votre projet MVC et ajouter un nouveau fichier à la racine du projet. Dans le gestionnaire de modèles (Add->New File...), rechercher "Fichier de configuration de Bower" ou "Fichier de configuration npm".

Modifiez ensuite le fichier et ajoutez votre dépendance, c'est-à-dire.

package.json (npm)

{
    "dependencies:" {
        "chart.js": "2.5.0"
    }
}

Une fois que vous avez enregistré, le fichier sera téléchargé dans un répertoire nommé "node_modules`. Cela ne suffira pas à lui seul, car les fichiers requis doivent être copiés dans le dossier wwwroot, où ils peuvent être consultés lors de l'exécution de l'application.

Pour cela, vous devez soit utiliser le bundle pour regrouper les fichiers (devrait être dans le modèle de projet ASP.NET Core par défaut), soit utiliser des exécuteurs de tâches tels que Gulp ou Grunt pour exécuter des tâches sur la génération/publication, ce qui fait cela pour vous. Voir ASP.NET Core Docs sur les exemples Gulp .

Mise à jour

Bower était obsolète maintenant depuis plus d'un an.

4
Tseng