Cosa fa una tilde `~` in un CSS ʻurl () `?


91

Per esempio @import url("~./foobar");

L'ho visto qui , non sono sicuro se sia qualcosa di specifico del pacchetto o se sia la sintassi CSS effettiva.


3
@JackMiller No, questo non è un operatore di selezione, fa parte di una directory di file.
user4642212

Risposte:


132

Il percorso CSS@import<url> è solitamente relativo alla directory di lavoro corrente.

Quindi l'utilizzo del prefisso ~all'inizio del percorso indica al caricatore Webpack di risolvere l'importazione "come un modulo" da un percorso del modulo del nodo.

Ciò significa che se hai un modulo nodo chiamato normalizeinstallato e devi importare un file da esso denominato /normalize.css, puoi farlo con:

@import "~normalize/normalize.css";

Nel tuo esempio collegato, all'interno font-loader/example/test.jsc'è un'importazione di un modulo chiamato font-boon.

var boon = require('./font-boon');

All'interno del font-loader/example/test.cssmodulo font-boon è @imported in modo che sia disponibile in text.css.

@import url("~./font-boon");


7
quindi .. in pratica, ~contiene il node_modulepercorso?
adrianriyadi

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.