Maison > interface Web > tutoriel CSS > Parlons de la façon dont webpack4 gère les CSS

Parlons de la façon dont webpack4 gère les CSS

藏色散人
Libérer: 2021-10-29 16:08:47
avant
1748 Les gens l'ont consulté

Préface : Le traitement des CSS par Webpack est un sujet très basique. C'est juste que dans webpack4, lors de l'utilisation du préfixe automatique pour résoudre la compatibilité du navigateur CSS, il y aura un piège différent d'avant. Je vais donc écrire sur ces connaissances en détail.

1. Dépendances requises

  • style-loader : Injectez des fichiers CSS dans la balise de style de la page html. Référence : https://www.webpackjs.com/loa...
  • css-loader : analyse les fichiers CSS importés dans js. Référence : https://www.webpackjs.com/loa...
  • less-loader : analyse le langage de prétraitement CSS Si vous utilisez d'autres langages de prétraitement, vous devez utiliser le chargeur correspondant. Référence : https://www.html.cn/doc/webpa...
  • postcss-loader : Post-traitez le CSS que nous avons écrit dans le projet :

    • Analysez le CSS dans une abstraction qui peut être exploitée par Structure arborescente de syntaxe JavaScript (Abstract Syntax Tree, AST),
    • Appelez le plug-in pour traiter l'AST et obtenir le résultat.
  • autoprefixer : Un plug-in pour postcss-loader qui préfixe css pour s'adapter aux différents navigateurs.

Remarque : postcss-loader fonctionne comme un processus de post-production cinématographique et télévisuelle. Il combine tous les fichiers originaux, puis utilise des plug-ins pour ajouter des effets spéciaux et génère enfin le produit fini. Le plug-in de préfixe automatique effectue un post-traitement sur l'AST analysé par postcss-loader.

Deuxièmement, installez les dépendances

npm install --save-dev less-loader less style-loader css-loader postcss-loader autoprefixer
Copier après la connexion

Trois, créez moins de fichier de test style.less

#world{
  display: flex;
}
Copier après la connexion

Quatre, importez style.less dans le fichier principal index.js

import './style.less';
Copier après la connexion

Cinq, fichier de configuration du webpack webpack.config.js

module: {
    rules: [
        {
            test: /\.less$/,
            use: [
                'style-loader',
                {loader: 'css-loader', options: { importLoaders: 1 } },
                'less-loader',
                'postcss-loader'
            ]
        },
    ]
}
Copier après la connexion

importLoaders: 1 de css-loader est un paramètre très important. Cela entraînera l’injection de tous les CSS analysés dans une seule balise de style. Sans cette configuration, une nouvelle balise de style sera créée à chaque nouveau fichier CSS injecté. Certains navigateurs ont une limite sur le nombre de balises de style.

Sixièmement, créez le fichier de configuration postcss postcss.config.js et introduisez-y le plug-in de préfixe automatique

module.exports = {
    plugins: [
        require('autoprefixer')
    ]
}
Copier après la connexion

Septièmement, ajoutez la liste des navigateurs dans package.json. C'est l'écueil mentionné dans la préface, sinon l'autopréfixe ne fonctionnera pas

{
 "scripts": {
  "build": "webpack",
  "dev": "webpack-dev-server  --mode development"
 },
 "browserslist": [
  "defaults",
  "not ie < 11",
  "last 2 versions",
  "> 1%",
  "iOS 7",
  "last 3 iOS versions"
 ]
}
Copier après la connexion

Huit, exécutez la commande

npm run build
Copier après la connexion

Neuf, l'analyse css est réussie, l'effet est le suivant :

#world {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
Copier après la connexion

Apprentissage recommandé : "css video tutoriel"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:segmentfault.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal