123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 |
- import defaultSettings from './defaultSettings'; // https://umijs.org/config/
- // import { webpackPlugin } from './plugin.config';
- import slash from 'slash2';
- import themePluginConfig from './themePluginConfig';
- const { pwa } = defaultSettings; // preview.pro.ant.design only do not use in your production ;
- // preview.pro.ant.design 专用环境变量,请不要在你的项目中使用它。
- const autoprefixer = require('autoprefixer')
- import { routerConfig } from './routerConfig.js';
- const { ANT_DESIGN_PRO_ONLY_DO_NOT_USE_IN_YOUR_PRODUCTION } = process.env;
- const isAntDesignProPreview = ANT_DESIGN_PRO_ONLY_DO_NOT_USE_IN_YOUR_PRODUCTION === 'site';
- const plugins = [
- [
- 'umi-plugin-react',
- {
- antd: true,
- dva: {
- hmr: true,
- },
- locale: {
- enable: true,
- default: 'zh-CN',
- baseNavigator: true,
- },
- // dynamicImport: {
- // loadingComponent: './components/PageLoading/index',
- // webpackChunkName: true,
- // level: 3,
- // },
- pwa: pwa
- ? {
- workboxPluginMode: 'InjectManifest',
- workboxOptions: {
- importWorkboxFrom: 'local',
- },
- }
- : false, // default close dll, because issue https://github.com/ant-design/ant-design-pro/issues/4665
- // dll features https://webpack.js.org/plugins/dll-plugin/
- // dll: {
- // include: ['dva', 'dva/router', 'dva/saga', 'dva/fetch'],
- // exclude: ['@babel/runtime', 'netlify-lambda'],
- // },
- },
- ],
- [
- 'umi-plugin-pro-block',
- {
- moveMock: false,
- moveService: false,
- modifyRequest: true,
- autoAddMenu: true,
- },
- ],
- ];
- if (isAntDesignProPreview) {
- // 针对 preview.pro.ant.design 的 GA 统计代码
- plugins.push([
- 'umi-plugin-ga',
- {
- code: 'UA-72788897-6',
- },
- ]);
- plugins.push(['umi-plugin-antd-theme', themePluginConfig]);
- }
- export default {
- plugins,
- hash: true,
- targets: {
- ie: 9,
- },
- // umi routes: https://umijs.org/zh/guide/router.html
- routes: routerConfig,
- // Theme for antd: https://ant.design/docs/react/customize-theme-cn
- theme: {
- // ...darkTheme,
- 'primary-color': '#ff4d5c',
- },
- define: {
- ANT_DESIGN_PRO_ONLY_DO_NOT_USE_IN_YOUR_PRODUCTION:
- ANT_DESIGN_PRO_ONLY_DO_NOT_USE_IN_YOUR_PRODUCTION || '', // preview.pro.ant.design only do not use in your production ; preview.pro.ant.design 专用环境变量,请不要在你的项目中使用它。
- },
- ignoreMomentLocale: true,
- lessLoaderOptions: {
- javascriptEnabled: true,
- },
- disableRedirectHoist: true,
- extraPostCSSPlugins: [
- autoprefixer({
- flexbox: true
- })
- ],
- cssLoaderOptions: {
- modules: true,
- getLocalIdent: (context, _, localName) => {
- if (
- context.resourcePath.includes('node_modules') ||
- context.resourcePath.includes('ant.design.pro.less') ||
- context.resourcePath.includes('global.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 `antd-pro${arr.join('-')}-${localName}`.replace(/--/g, '-');
- }
- return localName;
- },
- },
- manifest: {
- basePath: '/',
- },
- // chainWebpack: webpackPlugin,
- // 'externals': {
- // 'react': 'React',
- // 'react-dom': 'ReactDom',
- // 'antd': 'antd',
- // 'moment': 'moment',
- // 'redux': 'redux',
- // '@ant-design/pro-layout': 'pro-layout',
- // 'decimal.js': 'Decimal',
- // 'js-base64': 'jsBase64',
- // 'lodash': 'lodash'
- // },
- proxy: {
- '/api-common': {
- // target: 'http://api.timichat.net',
- target: 'http://localhost:9230',
- changeOrigin: true,
- //pathRewrite: { '^/server': '' },
- },
- '/api-family': {
- // target: 'http://api.timichat.net',
- target: 'http://localhost:9260',
- changeOrigin: true,
- //pathRewrite: { '^/server': '' },
- },
- },
- treeShaking: true,
- mock: {
- exclude: [],
- },
- publicPath: '/',
- outputPath: '/family',
- };
|