Avec moins de v2.7.3 (en utilisant webpack v3.1.0 et less-loader v4.1.0), je pourrais importer des polices distantes comme celle-ci dans mon fichier main.less:
<strong i="6">@import</strong> url('https://fonts.googleapis.com/css?family=Nunito');
Avec moins de v3.0.1 utilisant la même configuration et les mêmes dépendances, je n'obtiens plus cette erreur que lorsque j'essaye de construire:
Message:
./node_modules/css-loader??ref--1-2!./node_modules/postcss-loader/lib??ref--1-3!./node_modules/less-loader/dist/cjs.js??ref--1-4!./src/css/main.less
Module build failed:
*/
<strong i="10">@import</strong> url('https://fonts.googleapis.com/css?family=Nunito');
^
Can't resolve './https://fonts.googleapis.com/css?family=Nunito' in 'C:\Projekte\mine\homepage\src\css'
in C:\Projekte\mine\homepage\src\css\main.less (line 6, column 0)
Je pense que cela pourrait être lié au fait que Less ne bascule plus automatiquement vers une importation "css" (en préservant l'instruction @import
) simplement parce qu'il trouve une chaîne "css" quelque part dans l'URL.
Essayez <strong i="7">@import</strong> (css) url('https://fonts.googleapis.com/css?family=Nunito');
Génial @ matthew-dean qui a vraiment aidé. Merci beaucoup!
@ matthew-dean Existe-t-il un moyen de dire au compilateur d'utiliser https par défaut lors de la résolution d'urls à partir d'importations? par exemple, lorsque j'utilise <strong i="5">@import</strong> url(//fonts.googleapis.com/css?family=Open+Sans:400,700);
, la sortie est
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 400;
src: local('Open Sans Regular'), local('OpenSans-Regular'), url(http://fonts.gstatic.com/s/opensans/v17/mem8YaGs126MiZpBA-UFVZ0e.ttf) format('truetype');
}
Lorsque je mets cela sur une page chargée via HTTPS, j'obtiens une erreur de «contenu mixte» et les requêtes http sont bloquées par navigateur. Alors maintenant, je dois mettre à jour toutes les importations pour utiliser (css)
ou https://...
, alors je me demande si je pourrais le faire avec une option de configuration à la place?
alors je me demande si je pourrais le faire avec une option de configuration à la place?
Non. En savoir plus sur l'idée même d'importer fonts.googleapis.com
dans un CSS compilé est dangereux car fonts.googleapis.com
renifle le navigateur utilisé (évidemment Less in node
se rapportera comme Chrome / Chromium ) et peut renvoyer des résultats
@ dmitriy-drenkalyuk Pourquoi ne pas simplement écrire:
<strong i="6">@import</strong> url(https://fonts.googleapis.com/css?family=Open+Sans:400,700);
?
@ matthew-dean C'est ce que j'ai fait finalement, je cherchais juste une option pour le faire via config, afin que nous n'ayons pas besoin de rechercher et de mettre à jour tous les endroits où nous utilisons de telles importations.
Commentaire le plus utile
Je pense que cela pourrait être lié au fait que Less ne bascule plus automatiquement vers une importation "css" (en préservant l'instruction
@import
) simplement parce qu'il trouve une chaîne "css" quelque part dans l'URL.Essayez
<strong i="7">@import</strong> (css) url('https://fonts.googleapis.com/css?family=Nunito');