import { defineConfig } from 'umi'; const { resolve, join } = require('path'); export default defineConfig({ hash: false, dynamicImport: { loading: 'components/Loader/Loader.js', }, // dynamicImport: false, // history: { type: "hash" }, targets: { ie: 9 }, dva: { immer: true }, ignoreMomentLocale: true, mountElementId: "root", nodeModulesTransform: { type: 'none', }, // ssr: { // devServerRender: true, // }, alias: { antd: resolve(__dirname, './node_modules/antd'), api: resolve(__dirname, './node_modules/@ragestudio/ycorejs-lib'), // ./api plugins: resolve(__dirname, './plugins'), globals: resolve(__dirname, './globals'), core: resolve(__dirname, './src/core'), theme: resolve(__dirname, './src/theme'), config: resolve(__dirname, './config'), components: resolve(__dirname, './src/components'), models: resolve(__dirname, './src/models'), node_modules: resolve(__dirname, './node_modules') }, extraBabelPlugins: [ [ 'import', { libraryName: 'lodash', libraryDirectory: '', camel2DashComponentName: false, }, 'lodash', ], ], // externals(context, request, callback) { // const isDev = process.env.NODE_ENV === 'development'; // let isExternal = false; // const load = [ // 'electron', // 'fs', // 'path', // 'os', // 'child_process' // ]; // if (load.includes(request)) { // isExternal = `require("${request}")`; // } // const appDeps = Object.keys(require('./package.json').dependencies); // if (appDeps.includes(request)) { // const orininalPath = slash(join(__dirname, 'node_modules', request)); // const requireAbsolute = `require('${orininalPath}')`; // console.log(isDev) // isExternal = isDev ? requireAbsolute : `require('${request}')`; // } // callback(null, isExternal); // }, // plugins: [themePlugin], // chainWebpack: function(config, { webpack }) { // config.module // .rule('js-in-node_modules') // .exclude.add(/node_modules/) // .end() // config.module // .rule('ts-in-node_modules') // .exclude.add(/node_modules/) // .end() // config.merge({ // optimization: { // minimize: true, // splitChunks: { // chunks: 'all', // minSize: 30000, // minChunks: 3, // automaticNameDelimiter: '.', // cacheGroups: { // react: { // name: 'react', // priority: 20, // test: /[\\/]node_modules[\\/](react|react-dom|react-dom-router)[\\/]/, // }, // antd: { // name: 'antd', // priority: 20, // test: /[\\/]node_modules[\\/](antd|@ant-design\/icons)[\\/]/, // }, // async: { // chunks: 'async', // minChunks: 2, // name: 'async', // maxInitialRequests: 1, // minSize: 0, // priority: 5, // reuseExistingChunk: true, // }, // }, // }, // }, // }) // }, });