参考
    官网
    掘金酱
    MR

    1. const path = require('path');
    2. const rimraf = require('rimraf');
    3. const Config = require('webpack-chain');
    4. const config = new Config();
    5. const HtmlWebpackPlugin = require('html-webpack-plugin');
    6. const webpack = require('webpack');
    7. // 删除 dist 目录
    8. rimraf.sync('dirDist');
    9. config.entry('a').add('./src/test/a.js')
    10. config.entry('b').add('./src/test/b.js')
    11. .end()
    12. // 模式
    13. // .mode(process.env.NODE_ENV) 等价下面
    14. .set('mode', process.env.NODE_ENV)
    15. // 出口
    16. .output.path(path.resolve(__dirname,'dirDist'))
    17. .filename('[name].bundle.js');
    18. config.module
    19. .rule('css')
    20. .test(/\.css$/)
    21. .use('css')
    22. .loader('css-loader');
    23. config.devServer
    24. .host('127.0.0.1')
    25. .port("8090")
    26. .hot(true)
    27. .contentBase("./public/index.html");
    28. config
    29. .plugin('html-plugin')
    30. .use(HtmlWebpackPlugin,[{
    31. filename:'index.html',
    32. template:'./public/index.html'
    33. }]).end();
    34. config.plugin('define-plugin')
    35. .use(new webpack.DefinePlugin({
    36. env:JSON.stringify(process.env)
    37. })).end();
    38. module.exports = config.toConfig();