плагины CommonsChunkPlugin и HtmlWebpackPlugin в webpack

270
20 сентября 2017, 14:03

мой package.json

{
  "name": "app",
  "version": "0.0.0",
  "license": "MIT",
  "scripts": {},
  "dependencies": {},
  "devDependencies": {
    "html-webpack-plugin": "^2.30.1",
    "webpack": "^3.6.0"
  }
}

и мой webpack.config.js

'use strict';
var webpack = require('webpack');
var path = require('path');
var HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
    entry: {
        index: path.resolve(__dirname, './src/index.js'),
        vendor1: [
            path.resolve(__dirname, './src/vendor1.js'),
        ],
        vendor2: [
            path.resolve(__dirname, './src/vendor2.js'),
        ]
    },
    output: {
        filename: './[name].[chunkhash].js',
        path: path.resolve(__dirname, './dist')
    },
    resolve: {
        extensions: ['.js']
    },
    plugins: [
        new webpack.HashedModuleIdsPlugin(),
        new webpack.optimize.CommonsChunkPlugin({
            names: ['vendor2', 'vendor1'],
            minChunks: Infinity
        }),
        new webpack.optimize.CommonsChunkPlugin({
            name: 'runtime'
        }),
        new HtmlWebpackPlugin({
            title: 'test',
            filename: 'index.html',
            chunks: ['runtime', 'vendor1', 'vendor2', 'index']
        })
    ]
};

сами файлы index.js, vendor1.js, vendor2.js можно для примера оставить пустыми.

если собрать так, то все работает на ура. если я из chunks уберу 'vendor1', то сортировка списка подключаемых файлов поменяется:

до

<script type="text/javascript" src="./runtime.e319242a2d3229dd690d.js"></script>
<script type="text/javascript" src="./vendor1.7553cb22558e0b4ad4ce.js"></script>
<script type="text/javascript" src="./vendor2.9c4acad7b8badf03ed8a.js"></script>
<script type="text/javascript" src="./index.d266125962f24a521814.js"></script>

после

<script type="text/javascript" src="./vendor2.9c4acad7b8badf03ed8a.js"></script>
<script type="text/javascript" src="./index.d266125962f24a521814.js"></script>
<script type="text/javascript" src="./runtime.e319242a2d3229dd690d.js"></script>

почему так происходит? почему ломается сортировка? должно же быть runtime, vendor2, index

READ ALSO
Ajax - проблемы со скриптом [требует правки]

Ajax - проблемы со скриптом [требует правки]

js(click) конфликтует с ajax ссылками типа <a href="front-4"/>

246
Facebook комментарии

Facebook комментарии

Отказывается ставиться модерацияВсё сделал по инструкции, именно на этом сайте нет, сделал все тоже самое на тестовом - все получилось

404
javascript регулярное выражение

javascript регулярное выражение

здравствуйте, нужно удалить в тексте все пустые bb коды, типа [b][/b] [u][/u] [strike][/strike] я думал это сделать при помощи array replace, но у меня сложился вопрос,...

209
Бесконечная перезагрузка браузера при location.reload

Бесконечная перезагрузка браузера при location.reload

В скрипте, при изменении размера окна браузера, перезагрузка выполняться бесконечноКак ограничить выполнение скрипта только изменениями...

193