1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
const slash = require('slash2');
const proxy = require('./proxy');
const defaultSetting = require('./defaultSetting');
const pkgName = require('../package.json').name;
// eslint-disable-next-line import/order
const { NODE_ENV } = process.env;
// eslint-disable-next-line import/order
const path = require('path');
const CESIUM_BASE_URL = `/${pkgName}`;
module.exports = {
// mfsu: {},
esbuild: {},
webpack5: {},
base: '/civbase',
title: '熊猫智慧城市监控管理解决方案',
hash: true,
layout: {
siderWidth: '145px',
locale: true,
...defaultSetting,
},
fastRefresh: true,
useHash: true,
locale: {
default: 'zh-CN',
antd: true,
baseNavigator: true,
},
dynamicImport: {
loading: '@wisdom-utils/components/lib/AppLayout/components/PageLoading',
},
// theme: {
// '@primary-color': '#ff9600',
// },
ignoreMomentLocale: true,
nodeModulesTransform: {
type: 'none',
exclude: ['@wisdom-map/arcgismap', '@wisdom-map/amap', '@wisdom-map/basemap', 'swagger-ui-react', 'Cesium'],
},
proxy: proxy[NODE_ENV],
theme: {
'root-entry-name': 'variable',
},
// openAPI: {
// requestLibPath: "import { request } from '@wisdom-utils/utils'",
// schemaPath: 'http://192.168.10.150:8777/Publish/OMS/swagger/v1/swagger.json',
// mock: false,
// },
postcssLoader: {},
// styleLoader: {},
cssLoader: {
modules: {
getLocalIdent: (context, _, localName) => {
if (/@wisdom-cesium/.test(context.resourcePath)) {
const matchRule = slash(context.resourcePath).match(/@wisdom-cesium\/(krpano)(.*).less$/);
if (matchRule && matchRule[2]) {
if (/rc-slider/.test(matchRule[0])) {
return localName;
}
const className = matchRule[2]
.split('/')
.map(a => a.replace(/([A-Z])/g, '-$1'))
.map(a => a.toLowerCase())
.join('-');
return `panda-krpano-${className}-${localName}`.replace(/--/g, '-');
}
return localName;
}
if (
context.resourcePath.includes('node_modules') ||
context.resourcePath.includes('ant.design.pro.less') ||
context.resourcePath.includes('global.less') ||
context.resourcePath.includes('ThemeColor.less')
) {
return localName;
}
const match = context.resourcePath.match(/(src(.*))/);
if (match && match[1]) {
const antdProPath = match[1].replace('.less', '');
const arr = slash(antdProPath)
.split('/')
.map(a => a.replace(/([A-Z])/g, '-$1'))
.map(a => a.toLowerCase());
return `panda-console-base${arr.join('-')}-${localName}`.replace(/--/g, '-');
}
return localName;
},
},
},
lessLoader: {
modifyVars: {
// hack: `true; @import "~@/global.less";`,
'@ant-prefix': 'panda-console-base',
// '@iconPrefixCls': 'panda-console-base-icon',
},
javascriptEnabled: true,
},
alias: {
'@esri/arcgis-html-sanitizer': path.resolve(
__dirname,
'../node_modules/@esri/arcgis-html-sanitizer/dist/esm/index.js',
),
},
// esbuild: {}
};