const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const WebpackMerge = require('webpack-merge');
const baseConfig = require('./webpack.base.js');
const Webpack = require('webpack');

const port = process.env.remoteDevPort;
module.exports = WebpackMerge.merge(baseConfig, {
  mode: 'development',
  //开发环境下默认启用cache，在内存中对已经构建的部分进行缓存
  //避免其他模块修改，但是该模块未修改时候，重新构建，能够更快的进行增量构建
  //属于空间换时间的做法
  cache: true,
  
  // 代码入口
  entry: {
    // 注册界面
    main: './src/main.js',
  },

  output: {
    path: path.resolve(__dirname, 'dist'),
    publicPath: '/proxy/8081/',
    filename: 'app-client-[name].js',
    chunkFilename: 'app-client-chunk-[name].js',
  },

  watchOptions: {
    ignored: ['**/node_modules', '/bat/', '/dist/', '/public/', '/static/', '/test/'],
    poll: 2000,
  },

  watch: true,


  devtool: 'source-map',


  plugins: (module.exports.plugins || []).concat([

    new Webpack.DefinePlugin({
      'REMOTE_DEV_PORT': JSON.stringify(port)
    }),

    
    new HtmlWebpackPlugin({
      title: 'Prodog',
      template: './public/index-debug.html',   // 源模板文件
      filename: './index.html',                   // 输出文件【注意：这里的根路径是module.exports.output.path】
      chunks: ['main'],
    }),

  ]),
});


