'use strict'
|
const glob = require('glob')
|
const pages = {}
|
const IS_VENDOR = /[\\/]node_modules[\\/]/
|
const pageVendor = {}
|
|
glob.sync('./src/pages/**/main.ts').forEach(path => {
|
const chunk = path.split('./src/pages/')[1].split('/main.ts')[0]
|
const chunk_vendor = `${chunk}-vendors`
|
const chunk_common = `${chunk}-common`
|
pages[chunk] = {
|
entry: path,
|
template: 'public/index.html',
|
title: chunk == 'desktop/index' ? 'SmartAI' : chunk,
|
chunks: [chunk_vendor, 'chunk-common', chunk]
|
}
|
if (chunk != 'index') {
|
pages[chunk].filename = 'view/' + chunk + '.html'
|
}
|
|
pageVendor[chunk_vendor] = {
|
name: chunk_vendor,
|
priority: -11,
|
chunks: c => c.name === chunk,
|
test: /\.js$/,
|
enforce: true
|
}
|
|
// pageVendor[chunk_common] = {
|
// name: chunk_common,
|
// priority: -20,
|
// chunks: 'initial',
|
// minChunks: 2,
|
// reuseExistingChunk: true,
|
// enforce: true
|
// }
|
})
|
module.exports = {
|
pages,
|
chainWebpack: config => {
|
config.plugins.delete('named-chunks')
|
if (process.env.NODE_ENV === 'production') {
|
config.output.filename('js/[name].js').end()
|
config.output.chunkFilename('js/[name].js').end()
|
// 修改生产配置
|
config.plugin('extract-css').tap(() => [
|
{
|
filename: `css/[name].css`,
|
chunkFilename: `css/[name].css`
|
}
|
])
|
}
|
|
config.optimization.splitChunks({
|
cacheGroups: pageVendor
|
})
|
|
// config.module.rule('fonts').use('url-loader').loader('file-loader').options({ name: 'fonts/[name].[ext]', publicPath: '../' })
|
|
},
|
productionSourceMap: false,
|
filenameHashing: false,
|
devServer: {
|
proxy: {
|
'/track': {
|
target: 'http://192.168.20.10:8000',
|
// ws: true,
|
changeOrigin: true,
|
},
|
'/ws': {
|
target: 'http://192.168.20.10:7003',
|
// ws: true,
|
changeOrigin: true,
|
},
|
"/api-v": {
|
target: 'http://192.168.20.10:8000',
|
changeOrigin: true
|
},
|
"/api-f": {
|
target: 'http://192.168.20.10:8011',
|
// secure: false,
|
changeOrigin: true
|
},
|
"/api-p": {
|
target: 'http://192.168.5.23:8010',
|
// secure: false,
|
changeOrigin: true
|
},
|
"/api-u": {
|
target: 'http://192.168.20.10:8000',
|
changeOrigin: true
|
},
|
"/httpImage": {
|
target: 'http://192.168.20.10:7003',
|
changeOrigin: true, //开启代理
|
},
|
"/files": {
|
target: 'http://192.168.20.10:7003',
|
changeOrigin: true, //开启代理
|
}
|
}
|
}
|
}
|