Wie verwende ich normalize.css mit npm install with webpack?

Lesezeit: 4 Minuten

Benutzer-Avatar
Dan Ich

Ich verwende Webpack mit ReactJS und versuche herauszufinden, wie man normalize.css nach der Installation von npm verwendet (https://necolas.github.io/normalize.css/).

Wird die normalize.css sofort nach der Installation von npm angewendet? Wie würde ich Änderungen daran vornehmen, wenn ich wollte?

Benutzer-Avatar
Jumoel

Sie können das npm-installed verwenden normalize.css wie folgt mit React:

import React from 'react';
import ReactDOM from 'react-dom';

import "https://stackoverflow.com/questions/42119878/normalize.css"; // Note this

const root = document.getElementById('root');

ReactDOM.render(<h1>Hello, World!</h1>, root);

Das Ergebnis wird sein:

Von normalize.css gestalteter Text

Beachten Sie, dass der Text von gestaltet wurde normalize.css.

Damit es funktioniert, benötigen Sie etwas Ähnliches wie das folgende Setup:


1) Fügen Sie das Javascript von oben hinzu index.js

2) Hinzufügen normalize.css (und Freunde) zu package.json:

{
    "dependencies": {
        "https://stackoverflow.com/questions/42119878/normalize.css": "^5.0.0",
        "react": "^16.3.2",
        "react-dom": "^16.3.2"
    },
    "devDependencies": {
        "babel-core": "^6.26.3",
        "babel-loader": "^7.1.4",
        "babel-preset-env": "^1.7.0",
        "babel-preset-react": "^6.24.1",
        "css-loader": "^0.28.11",
        "style-loader": "^0.21.0",
        "webpack-dev-server": "^3.1.4",
        "webpack": "^4.8.3"
    }
}

3) Verwenden Sie die richtigen Lader in webpack.config.js:

module.exports = {
    mode: 'development',
    module: {
        rules: [
            {
                test: /\.js$/,
                loader: 'babel-loader',
                options: { presets: ['env', 'react'] }
            },
            {
                test: /\.css$/,
                use: [{ loader: 'style-loader' }, { loader: 'css-loader' }]
            }
        ]
    }
};

4) Fügen Sie ein hinzu index.html Datei, um die Ergebnisse zu sehen:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
  <div id="root"></div>
  <script src="https://stackoverflow.com/questions/42119878/main.js"></script>
</body>
</html>

4) Installieren Sie alles

npm install

5) Starten Sie den Webpack-Devserver:

./node_modules/.bin/webpack-dev-server --open

HINWEIS: Ich verwende Version 5.0.0 von normalize.css. Wenn Sie die Version verwenden 6.0.0 oder höher ist die Schriftart anders. Alle rechthaberischen Regeln wurden entfernt normalize.css in dieser Version.


Aktualisierung 17.5.2018: Aktualisiert, um Webpack 4 und React 16 zu verwenden.

  • Ich bin ein React n00b und habe dies über Google gefunden. Ab heute zeigen Ihnen die Normalize-Dokumente die Befehlszeile für „npm install“, erwähnen aber nicht explizit, wie der Name des importierbaren Pakets lautet (er unterscheidet sich vom Installationsnamen) oder wie man ihn danach verwendet … daher, Für diese Antwort bin ich sehr dankbar. =)

    – anonymer Feigling

    7. Juli 2017 um 6:26 Uhr


  • musste ich benutzen import 'normalize-css/normalize.css'wenn Sie einfach ‘normalize.css’ importieren, wird im aktuellen Verzeichnis danach gesucht

    – Grauer Vugrin

    25. Juli 2017 um 18:46 Uhr


  • @GrayVugrin normalize-css ist nicht dasselbe wie normalize.css. normalize-css wurde seit 2014 nicht aktualisiert: github.com/chrisdickinson/normalize-css

    – Jumoel

    2. August 2017 um 9:30 Uhr

Hinzufügen: Wenn Sie WebPack 4 verwenden und normalize.less nicht importieren können, versuchen Sie es mit normalize.css.

@import "../node_modules/normalize.css/normalize.css";

Und meine Regeln:

module: {
    rules: [{
            test: /\.css$/,
            use: [MiniCssExtractPlugin.loader,
                "css-loader"
            ]
        },
        {
            test: /\.less$/,
            use: [
                MiniCssExtractPlugin.loader,
                "css-loader",
                "less-loader"
            ]
        }
    ]
};

  • Dieser Import erfolgt natürlich aus einer anderen CSS-Datei, zB style.css

    – Sam Murphy

    16. Juli 2019 um 19:56 Uhr

  • Dies kann auch für Leute hilfreich sein, um Probleme zu lösen, bei denen – wenn zuvor der Stillader verwendet wurde – Stile nach importierten Stilen in den Kopf eingefügt wurden, wodurch benutzerdefinierte Stile mit den Standardeinstellungen überschrieben wurden

    – zielloser Wunderer

    23. Juli 2019 um 22:51 Uhr

Benutzer-Avatar
S. max

in index.css:

@import "~normalize.css/normalize.css";

Benutzer-Avatar
ickyrr

Wenn du import oder require es wird von Webpack eingeschlossen, es sei denn, Sie stellen es auf nicht ein. Zum Beispiel:

Hinweis: Ich verwende Webpack 2.

module: {
    rules: [ // from 'loaders' to 'rules'
        {
            test: /\.js$/,
            loader: 'babel-loader',
            exclude: /node_modules/,
        },
        {
            test: /\.sass$/,
            exclude: /node_modules/,
            loader: ExtractTextPlugin.extract({
              fallbackLoader: 'style-loader',
              loader: ['style-loader','sass-loader']
            })
        }
    ]
}

Das exclude Eigentum wird sich darum kümmern.

Beispiel:

// public/assets/style.scss
@import 'substyle1';
@import 'substyle1';

body {
  background-color: red;
}
// src/index.js -> entry file
import '../public/assets/style.scss';
// Webpack will know that you are importing your SCSS / SASS file

Hoffe das hilft.

Installieren Sie zuerst normalize.css oder laden Sie es von GitHub herunter. Ich würde empfehlen, es herunterzuladen. Dann gibt es zwei Hauptmöglichkeiten, es zu nutzen.

Ansatz 1: Verwenden Sie normalize.css als Ausgangspunkt für das Basis-CSS Ihres eigenen Projekts und passen Sie die Werte an die Anforderungen des Designs an.

Ansatz 2: Normalize.css unverändert einbinden und darauf aufbauen, wobei die Standardeinstellungen später in Ihrem CSS überschrieben werden, falls erforderlich.

dh legen Sie einfach diese heruntergeladenen Dateien in den Projektordner und fügen Sie einen Link dazu per Link-Tag hinzu

link rel=”stylesheet” type=”text/css” href=”https://stackoverflow.com/questions/42119878/normalize.css”

HINWEIS Der Inhalt von href sollte auf den Ordner verweisen, in dem normalize gespeichert ist.

  • Glaub meine Frage steht noch. Was ist, wenn ich es mit npm installiert habe?

    – Dan Me

    8. Februar 2017 um 22:07 Uhr

  • Glaub meine Frage steht noch. Was ist, wenn ich es mit npm installiert habe?

    – Dan Me

    8. Februar 2017 um 22:07 Uhr

1298630cookie-checkWie verwende ich normalize.css mit npm install with webpack?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy