const path = require('path'); const webpack = require('webpack'); const fs = require('fs'); const MiniCssExtractPlugin = require('mini-css-extract-plugin'); const { VueLoaderPlugin } = require('vue-loader'); const HtmlWebpackPlugin = require('html-webpack-plugin'); const ESLintPlugin = require('eslint-webpack-plugin'); const WebpackMerge = require('webpack-merge'); const baseConfig = require('./webpack.base.js'); const { name } = require('./package'); module.exports = WebpackMerge.merge(baseConfig, { mode: 'development', //开发环境下默认启用cache,在内存中对已经构建的部分进行缓存 //避免其他模块修改,但是该模块未修改时候,重新构建,能够更快的进行增量构建 //属于空间换时间的做法 cache: true, // 代码入口 entry: { // 注册界面 main: './src/main.js', }, // output: { // path: path.resolve(__dirname, '../dist'), // publicPath: '/', // filename: 'client-role-v3-[name].js', // chunkFilename: 'client-role-v3-chunk-[name].js', // }, output: { publicPath: '/', library: `${name}-[name]`, libraryTarget: 'umd', // 把微应用打包成 umd 库格式 // chunkLoadingGlobal: `webpackJsonp_${name}`, chunkFilename: 'chunk/client-wms-board-chunk-[name].js', }, devServer: { port: 8089, // static: { // directory: path.join(__dirname, ''), // }, proxy: { '/api': { target: 'http://127.0.0.1:10026/', ws: false, changeOrigin: true, }, '/authApi': { target: 'http://127.0.0.1:10026/', ws: false, changeOrigin: true, }, '/android-device-sdk': { target: 'http://127.0.0.1:10026/', ws: false, changeOrigin: true, }, }, headers: { 'Access-Control-Allow-Origin': '*', }, }, devtool: 'source-map', plugins: (module.exports.plugins || []).concat([ new webpack.DefinePlugin({ 'process.env.APP_ENV': JSON.stringify('development'), }), new HtmlWebpackPlugin({ title: 'client-div-v3', template: './public/index.html', // 源模板文件 filename: './index.html', // 输出文件【注意:这里的根路径是module.exports.output.path】 chunks: ['main'], }), ]), });