Je construis une page Web en utilisant ASP.NET Core v2 et souhaite utiliser font-awesome.
Permettez-moi d’abord de dire que j’ai essayé plusieurs choses. comme installer Bower à partir de NPM, installer font-awesome à partir de NPM, installer font-awesome à partir de packages Bower dans VS, mais rien ne semble fonctionner.
quelqu'un peut-il s'il vous plaît fournir le moyen correct pour installer font-awesome, (préféré sans utiliser beaucoup de commandes de la console ou la copie manuelle des fichiers.)
Voici à quoi ressemble mon bureau
J'utilise ASP.NET Core 2.0.8 sur Windows 10 et j'ai juste eu du mal à intégrer FA dans mon projet. J'ai pu l'ajouter à NPM en l'ajoutant à package.json (comme d'autres l'ont mentionné) sous des dépendances, comme ceci:
{
"version": "1.0.0",
"name": "asp.net",
"private": true,
"devDependencies": {},
"dependencies": {
"bootstrap": "^4.1.1",
"font-awesome": "4.7.0",
"jquery": "^3.3.1",
"popper.js": "^1.14.3"
}
}
Malheureusement, bien qu'il ait restauré le paquet, il n'a pas déployé les fichiers css où je m'attendais pour pouvoir les référencer. Je ne crois pas que ce qui suit ressemble à la manière "correcte" de le faire (j'apprends toujours!), Mais cela a fonctionné pour moi.
Dans l'Explorateur de solutions:
Vous pouvez maintenant les faire glisser dans votre projet pour y faire des références et commencer à utiliser Font Awesome, comme ceci:
_Layout.cshtml:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>@ViewData["Title"] websiteTitle</title>
<environment include="Development">
<link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.css" />
<link rel="stylesheet" href="~/css/site.css" />
<link href="~/css/font-awesome.css" rel="stylesheet" />
</environment>
<environment exclude="Development">
<link rel="stylesheet" href="https://ajax.aspnetcdn.com/ajax/bootstrap/4.1.1/css/bootstrap.min.css"
asp-fallback-href="~/lib/bootstrap/dist/css/bootstrap.min.css"
asp-fallback-test-class="sr-only" asp-fallback-test-property="position" asp-fallback-test-value="absolute" />
<link rel="stylesheet" href="~/css/site.min.css" asp-append-version="true" />
</environment>
</head>
J'espère que cela pourra aider ceux qui se présentent comme moi.
Bower
s'en va. NuGet
se concentre maintenant sur les packages .NET afin que votre meilleur moyen d'obtenir font-awesome
soit via NPM
.
Assurez-vous que la dernière nodejs
est installée. Accédez à https://nodejs.org/en/ et téléchargez la version LTS.
Pour vérifier la version de node
ainsi que npm
installée sur votre ordinateur:
node -v
et npm -v
package.json
Vous devez avoir le fichier de configuration npm dans votre projet. Ce fichier de configuration répertorie tous vos packages et est utilisé par npm pour restaurer les packages en cas de besoin.
Pour ajouter le fichier de configuration npm:
Ouvrez package.json
et sous devDependencies
, en tapant simplement "font-awesome":
, il devrait vous donner automatiquement une liste des versions disponibles que vous pouvez choisir. Choisissez une version que vous aimez.
En enregistrant ce fichier package.json
, la npm
téléchargera les bibliothèques répertoriées dans le dossier caché node_modules
de votre projet.
Dans les applications ASP.NET Core MVC, si vous souhaitez utiliser des contenus statiques tels que des styles et des fichiers javascript, vous devez également activer la fonction app.UseStaticFiles();
dans le Startup.cs
et copier les fichiers dans le dossier wwwroot. Par défaut, le contenu, par exemple, dans node_modules
ne peut pas être réparé par votre application.
Vous pouvez bien sûr gérer manuellement les fichiers de votre choix dans le dossier wwwroot. Mais vous devrez alors remplacer les fichiers chaque fois que de nouvelles versions sortent.
Pour correctement copier les fichiers, nous devons utiliser des outils tiers!
BundlerMinifier est un excellent outil que vous pouvez utiliser pour regrouper les fichiers de votre choix et les exporter dans les répertoires de votre choix. Il utilise un fichier de configuration similaire appelé bundleconfig.json
:
Mais cet outil ne fonctionne pas bien avec les types de fichiers autres que .css
et .js
. Il existe également un problème d'URL relative au dossier de polices font-awesome car le style font-awesome utilise url();
(la définition de "adjustRelativePaths": false
ne fonctionne pas toujours).
Pour correctement déplacer les fichiers et les polices font-awesome dans le dossier wwwroot, je peux utiliser gulp
pour configurer les tâches que je peux exécuter avant la construction, après la construction, etc.:
gulp
(et rimraf
, la commande unix rm -rf
)Allez à package.json
et tapez gup
et rimraf
dans la liste des dépendances. Enregistrez le fichier.
gulpfile.js
à votre projet et définissez les tâchesJ'ai essentiellement besoin de créer une tâche pour déplacer font-awesome dans le dossier wwwroot/libs et de créer une autre tâche pour effectuer l'inverse pour le nettoyage. J'ai omis d'autres tâches non liées à font-awesome.
Une fois que vous avez configuré le gulpfile.js
, vous devriez pouvoir voir les tâches répertoriées dans "Explorateur de tâches". Si vous ne disposez pas de cette fenêtre dans Visual Studio, cliquez sur "Affichage" -> "Autres fenêtres".
Vous pouvez exécuter manuellement n'importe quelle tâche en faisant un clic droit dessus et en cliquant sur "Exécuter". Ou vous pouvez le faire fonctionner automatiquement quand avant la construction, après la construction, le nettoyage ou l'ouverture du projet.
Une fois les liaisons configurées, un en-tête serait ajouté au gulpfile.js
:
Enregistrez maintenant le fichier gulpfile.js
et construisez votre projet. Vos fichiers et polices font-awesome doivent être automatiquement déplacés vers le wwwroot et prêts à être utilisés.
Je recommanderais d'utiliser LibMan pour cela ( Documentation courte sur son utilisation ).
Je l'ai écrit manuellement, vous pouvez l'ajouter via "Ajouter -> Bibliothèque côté client". Voici le mien libman.json
{
"version": "1.0",
"defaultProvider": "cdnjs",
"libraries": [
{
"library": "[email protected]",
"destination": "wwwroot/lib/font-awesome",
"files": [
"css/font-awesome.min.css",
"fonts/fontawesome-webfont.eot",
"fonts/fontawesome-webfont.svg",
"fonts/fontawesome-webfont.ttf",
"fonts/fontawesome-webfont.woff",
"fonts/fontawesome-webfont.woff2",
"fonts/FontAwesome.otf"
]
}
]
}
Sur recommandation de Microsoft
La méthode recommandée pour installer des dépendances côté client telles que Bootstrap dans ASP.NET Core via Bower (en utilisant
bower.json
)
Ouvrez le fichier bower.json
et ajoutez font-awesome
aux dépendances.
{
"name": "ASP.NET",
"private": true,
"dependencies": {
"Font-Awesome": "4.3.0"
}
}
Ouvrez le fichier .bowerrc
sous bower.json
. La propriété directory
est définie sur wwwroot/lib
, ce qui indique l'emplacement où Bower installera les actifs du progiciel.
{
"directory": "wwwroot/lib"
}
Maintenant, vous pouvez vous référer à font-awesome comme ci-dessous
<link href="/lib/font-awesome/css/font-awesome.css" rel="stylesheet" />
Le moyen le plus simple de se familiariser avec Font Awesome est d’y ajouter une référence, à l’aide de son emplacement de réseau de diffusion de contenu public (CDN):
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
Pour plus de détails:
https://docs.Microsoft.com/en-us/aspnet/core/client-side/bower
Ceci est pour .NET Core 2, après avoir créé un projet SPA en utilisant dotnet new angular:
Accédez à la racine du projet et installez le package: npm install font-awesome --save. Vous devriez maintenant le voir dans les dépendances package.json.
Après cela, accédez à webpack.config.vendor.js et ajoutez une police géniale au tableau sous des modules shakables non arborescents:
const nonTreeShakableModules = ['bootstrap', 'bootstrap/dist/css/bootstrap.css', 'es6-promise', 'es6-shim', 'event-source-polyfill', 'font-awesome/css/font-awesome .css ',' jquery ',];
Nous devons maintenant indiquer au pack Web que nous avons ajouté ce nouveau package. Donc, si vous ne l’avez pas déjà fait, installez-le à la racine du projet avec npm install --save-dev npm-install-webpack-plugin.
Enfin, exécutez cette commande à la racine du projet: webpack --config webpack.config.vendor.js
Aller à package.json
ajoutez la balise suivante "font-awesome": "^ 4.7.0" in dependencies section
Par exemple :-
{
"name": "imsy-app",
"version": "0.0.0",
"license": "MIT",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build --prod",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
},
"private": true,
"dependencies": {
"@angular/animations": "^5.2.0",
"@angular/common": "^5.2.0",
"@angular/compiler": "^5.2.0",
"@angular/core": "^5.2.0",
"@angular/forms": "^5.2.0",
"@angular/http": "^5.2.0",
"@angular/platform-browser": "^5.2.0",
"@angular/platform-browser-dynamic": "^5.2.0",
"@angular/router": "^5.2.0",
"angular2-moment": "^1.9.0",
"core-js": "^2.4.1",
"ng2-toasty": "^4.0.3",
"ng5-breadcrumb": "0.0.6",
"rxjs": "^5.5.6",
"zone.js": "^0.8.20",
"font-awesome": "^4.7.0"
},
"devDependencies": {
"@angular/cli": "1.6.6",
"@angular/compiler-cli": "^5.2.0",
"@angular/language-service": "^5.2.0",
"TypeScript": "~2.5.3"
}
}