2021-09-30 16:58:13 +08:00

81 lines
1.8 KiB
TypeScript

import path from 'path';
import { defineConfig } from 'umi';
const { ModuleFederationPlugin } = require("webpack").container;
export default defineConfig({
dynamicImport: {
loading: '@/components/LoadingCp',
},
dva: {
immer: true,
},
devtool: 'source-map',
antd: {},
title: 'h5-dooring',
// exportStatic: {},
base: '/',
publicPath: '/',
outputPath: 'dist',
esbuild: {},
routes: [
{
exact: false,
path: '/',
component: '@/layouts/index',
routes: [
{
path: '/',
component: '../pages/home',
},
{
path: '/editor',
component: '../pages/editor',
},
{
path: '/ide',
component: '../pages/ide',
},
{
path: '/help',
component: '../pages/help',
},
{
path: '/login',
component: '../pages/login',
},
{
path: '/mobileTip',
component: '../pages/mobileTip',
},
],
},
],
theme: {
'primary-color': '#2F54EB',
// "btn-primary-bg": "#2F54EB"
},
extraBabelPlugins: [['import', { libraryName: 'zarm', style: true }]],
// sass: {},
alias: {
components: path.resolve(__dirname, 'src/components/'),
utils: path.resolve(__dirname, 'src/utils/'),
assets: path.resolve(__dirname, 'src/assets/'),
},
fastRefresh: {},
webpack5: {},
plugins: [
'./src/plugins/umi-msfu-plugin.ts',
],
chainWebpack(memo) {
memo
.plugin('mf')
.use(ModuleFederationPlugin, [{
name: "dooringEditor",
remotes: {
dooringUI: "dooringUI@//localhost:8008/remoteEntry.js"
},
shared: { react: { singleton: true, eager: true, requiredVersion: '17.x' }, "react-dom": { singleton: true,eager: true, requiredVersion: '17.x' }, }
}])
},
});