より少ないv2.7.3(webpackv3.1.0およびless-loaderv4.1.0を使用)では、次のようなリモートフォントをmain.lessファイルにインポートできます。
<strong i="6">@import</strong> url('https://fonts.googleapis.com/css?family=Nunito');
同じ構成と依存関係を使用するv3.0.1が少ないと、ビルドしようとしたときにのみこのエラーが発生するようになりました。
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)
これは、URLのどこかに「css」文字列が見つかったという理由だけで、Lessが「css」インポート( @import
ステートメントを保持)に自動切り替えしなくなったという事実に関連していると思います。
<strong i="7">@import</strong> (css) url('https://fonts.googleapis.com/css?family=Nunito');
試しください
本当に助けてくれた素晴らしい@ matthew-dean。 ありがとう!
@ matthew-deanインポートからURLを解決するときに、デフォルトでhttpsを使用するようにコンパイラーに指示する方法はありますか? たとえば、 <strong i="5">@import</strong> url(//fonts.googleapis.com/css?family=Open+Sans:400,700);
を使用すると、出力は次のようになります。
@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');
}
これをHTTPS経由で読み込まれるページに配置すると、「混合コンテンツ」エラーが発生し、httpリクエストがブラウザによってブロックされます。 だから今私は(css)
またはhttps://...
を使用するようにすべてのインポートを更新する必要があるので、代わりにconfigオプションでこれを行うことができるかどうか疑問に思っていますか?
代わりにconfigオプションを使用してこれを実行できるかどうか疑問に思っていますか?
いいえ。コンパイルされたCSSにfonts.googleapis.com
をインポートするという考え自体は危険です。これは、 fonts.googleapis.com
が使用されているブラウザをスニッフィングするためです(明らかに、 node
LessはChrome / Chromiumとして報告されます) )そしてそれに応じて異なる結果を返す可能性があります(これまでのところ、この点で問題は聞いていませんが、いつでも自由に中断できます)。
@ dmitriy-drenkalyukなぜ書くだけではないのですか?
<strong i="6">@import</strong> url(https://fonts.googleapis.com/css?family=Open+Sans:400,700);
?
@ matthew-deanこれは私が最終的に行ったことであり、configを介してそれを行うオプションを探していたので、そのようなインポートを使用するすべての場所を検索して更新する必要はありません。
最も参考になるコメント
これは、URLのどこかに「css」文字列が見つかったという理由だけで、Lessが「css」インポート(
@import
ステートメントを保持)に自動切り替えしなくなったという事実に関連していると思います。<strong i="7">@import</strong> (css) url('https://fonts.googleapis.com/css?family=Nunito');
試しください