importer les fichiers CSS et JS en utilisant Webpack

J'ai une structure de répertoire comme ceci:

importer les fichiers CSS et JS en utilisant Webpack

et à l'intérieur de node_modules:

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

J'ai besoin de générer de séparer le CSS et le JS faisceaux comme ceci:

personnalisé-les styles.css, custom-js.js, style-libs.css, js-libs.js

style-libs et js-libs doit contenir syles et js fichiers de toutes les bibliothèques, comme bootstrap et jQuery. Voici ce que j'ai fait jusqu'à présent:

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'));

Je suis en mesure d'exécuter l'application et le rendu de tous les composants correctement à l'exception du chargement de la JS externe et le fichier CSS à l'aide webpack.

Je ne suis pas très expérimenté avec webpack et de le trouver très difficile il me faire entendre autour d'elle. Il y a quelques questions simples:

1- Est cette configuration correcte? Si oui, alors comment puis-je inclure mon CSS et JS fichiers de composants à l'aide de ES6. Quelque chose comme import mot-clé.

2- Devrais-je être même à l'aide de webpack pour les fichiers CSS?

3- Comment spécifier les répertoires d'entrée et de leur sortie respective des fichiers dans webpack? Quelque chose comme all-custom.js devraient être de sortie pour custom1.js et custom2.js?

Je sais que ce sont des question et j'ai essayé Google mais n'ai pas trouvé un tutoriel simple pour Webpack qui est simple et objectifs les débutants.

OriginalL'auteur Syed Ali Taqi | 2016-08-18