Less.js: Importer des URL distantes cassées avec la v3.0.1

Créé le 20 mars 2018  ·  6Commentaires  ·  Source: less/less.js

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)
question

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');

Tous les 6 commentaires

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.

Cette page vous a été utile?
0 / 5 - 0 notes