Importieren von CSS- und JS-Dateien mit Webpack

Ich habe eine Verzeichnisstruktur wie diese:

und innerhalb von node_modules:

 >node_modules
  >./bin
   >webpack.config.js
  >bootstrap
   >bootstrap.css
   >bootstrap.js

Ich muss separate CSS- und JS-Bundles wie folgt generieren:

custom-styles.css, custom-js.js, style-libs.css, js-libs.js

wostyle-libs undjs-libs sollte syles- und js-Dateien aller Bibliotheken wie bootstrap und jQuery enthalten. Folgendes habe ich bisher getan:

webpack.config.js:

const path = require('path');
const basedir = path.join(__dirname, '../../client');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const stylesPath = path.join(__dirname, '../bootstrap/dist/css');

var ExtractTextPlugin = require("extract-text-webpack-plugin");

module.exports = {
  watch: true,

  // Script to bundle using webpack
  entry: path.join(basedir, 'src', 'Client.js'),
  // Output directory and bundled file
  output: {
    path: path.join(basedir, 'dist'),
    filename: 'app.js'
  },
  // Configure module loaders (for JS ES6, JSX, etc.)
  module: {
    // Babel loader for JS(X) files, presets configured in .babelrc
    loaders: [
        {
            test: /\.jsx?$/,
            loader: 'babel',
            babelrc: false,
            query: {
                presets: ["es2015", "stage-0", "react"],
                cacheDirectory: true // TODO: only on development
            }
        },
        {
            test: /\.css$/,
            loader: ExtractTextPlugin.extract("style-loader", "css-loader")
        },
    ]
  },
  // Set plugins (for index.html, optimizations, etc.)
  plugins: [
     // Generate index.html
     new HtmlWebpackPlugin({
        template: path.join(basedir, 'src', 'index.html'),
        filename: 'index.html'
     }),
     new ExtractTextPlugin(stylesPath + "/bootstrap.css", {
        allChunks: true,
     })
  ]
};

Client.js

import * as p from 'babel-polyfill';
import React from 'react';
import ReactDOM from 'react-dom';
import App from './components/App.jsx';

ReactDOM.render(<App />, document.getElementById('app'));

Ich kann die App ausführen und alle Komponenten korrekt rendern, mit Ausnahme des Ladens der externen JS- und CSS-Datei mitwebpack.

Ich habe nicht viel Erfahrung mit Webpacks und finde es wirklich schwierig, mein Gehör darum zu wickeln. Es gibt ein paar einfache Fragen:

1-Ist diese Konfiguration korrekt? Wenn ja, wie kann ich meine CSS- und JS-Dateien mit ES6 in Komponenten einbinden? Etwas wieimport Stichwort

2- Sollte ich überhaupt ein Webpack für CSS-Dateien verwenden?

3-Wie werden einzelne Verzeichnisse für die Eingabe und ihre jeweiligen Ausgabedateien im Webpack angegeben? Etwas wieall-custom.js soll für @ ausgegeben werdcustom1.js undcustom2.js?

Ich weiß, dass dies eine sehr grundlegende Frage ist, und ich habe Google ausprobiert, aber kein einziges Tutorial für Webpack gefunden, das einfach ist und Anfänger anspricht.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage