const webpack = require('webpack')

const path = require('path')

    // const CompressionWebpackPlugin = require('compression-webpack-plugin');

const productionGzipExtensions = ['js', 'css']

module.exports = {

    // 基本路径

    publicPath: process.env.NODE_ENV === 'production' ? '/production-sub-path/' : './',

    // 输出文件目录

    outputDir: 'dist',

    // eslint-loader 是否在保存的时候检查

    pages: {

        index: {

            // page 的入口

            entry: 'src/dyreleaseweb/main.js',

            // 模板来源

            template: 'public/index.html',

            filename: 'index.html',

            favicon: 'public/logo.ico',

            // 当使用 title 选项时,

            // template 中的 title 标签需要是 <title><%= htmlWebpackPlugin.options.title %></title>

            title: '通稿稿件2.0',

            // 在这个页面中包含的块,默认情况下会包含

            // 提取出来的通用 chunk 和 vendor chunk。

            chunks: ['chunk-vendors', 'chunk-common', 'index']

        },

        topic: {

            // page 的入口

            entry: 'src/topic/main.js',

            // 模板来源

            template: 'public/topic.html',

            // 在 dist/index.html 的输出

            filename: 'topic.html',

            favicon: 'public/logo.ico',

            title: 'Topic Page',

            chunks: ['chunk-vendors', 'chunk-common', 'index']

        }

        // 当使用只有入口的字符串格式时,

        // 模板会被推导为 `public/subpage.html`

        // 并且如果找不到的话,就回退到 `public/index.html`。

        // 输出文件名会被推导为 `subpage.html`。

        //   subpage: 'src/subpage/main.js'

    },

    chainWebpack: () => {},

    configureWebpack: {

        plugins: [

            new webpack.ProvidePlugin({

                $: 'jquery',

                jQuery: 'jquery',

                'windows.jQuery': 'jquery'

            })

        ]

    },

    productionSourceMap: true,

    // css相关配置

    css: {

        // 是否使用css分离插件 ExtractTextPlugin

        extract: true,

        // 开启 CSS source maps?

        sourceMap: false,

        // css预设器配置项

        loaderOptions: {

            css: {


            },

            postcss: {

                /*  ident: 'postcss',

                         plugins: (loader) => [

                             require('postcss-import')({ root: loader.resourcePath }),

                             require('postcss-preset-env')(),

                             require('cssnano')()

                         ] */

            }

        },

        // 启用 CSS modules for all css / pre-processor files.

        modules: true // 去掉文件名中的 .module

    },

    // use thread-loader for babel & TS in production build

    // enabled by default if the machine has more than 1 cores

    parallel: require('os').cpus().length > 1,

    // webpack-dev-server 相关配置

    devServer: {

        open: process.platform === 'darwin',

        host: '10.10.0.102',

        port: 8066,

        https: false,

        hotOnly: false,

        proxy: {

            '/api': {

                target: 'http://10.10.0.102:9010/',

                ws: true,

                changeOrigin: true,

                pathRewrite: {

                    '^/api': '/gateway'

                }

            },

            '/foo': {

                target: '<other_url>'

            }

        },

        before: app => {}

    },

    // 第三方插件配置

    pluginOptions: {

        // ...

    }

    // eslint-disable-next-line eol-last

}