import { appTools, defineConfig } from '@modern-js/app-tools'; import { tailwindcssPlugin } from '@modern-js/plugin-tailwindcss'; import { polyfillPlugin } from '@modern-js/plugin-polyfill'; function backward() { window.document.dispatchEvent(new MessageEvent('message', { data: 'hardwareBackPress' })); } function openDebug() { if (window.eruda) { if (window.eruda.init) { window.eruda.init(); } } } // https://modernjs.dev/en/configure/app/usage export default defineConfig({ runtime: { router: { supportHtml5History: false, }, state: true, }, dev: { progressBar: { id: `🐹 ${process.env.APP_NAME}` }, host: process.env.XHOST, port: Number(process.env.XPORT ?? 8080), }, server: { routes: { main: ['/index.html', '/'], }, }, html: { tags: [ { tag: 'script', children: backward.toString(), }, { tag: 'script', children: openDebug.toString(), }, { tag: 'script', publicPath: '', attrs: { src: '/public/sdk/eruda.min.js' }, head: true, hash: true, }, ], }, plugins: [ appTools({ bundler: 'experimental-rspack', }), tailwindcssPlugin(), polyfillPlugin(), ], performance: { removeConsole: ['warn'], }, output: { assetPrefix: '../', distPath: { root: 'dist', html: '', }, }, source: { globalVars: { 'process.env.MODERN_DOMAIN': process.env.MODERN_DOMAIN, 'process.env.MODERN_FILE_DOMAIN': process.env.MODERN_FILE_DOMAIN, 'process.env.MODERN_GRAY_TAG': process.env.MODERN_GRAY_TAG, 'process.env.MODERN_APP_ID': process.env.MODERN_APP_ID, 'process.env.MODERN_CALKEY': process.env.MODERN_CALKEY, 'process.env.MODERN_XSIGN': process.env.XSIGN, 'process.env.MODERN_ENV': process.env.MODERN_ENV, }, include: [/[\\/]node_modules[\\/]filter-obj[\\/]/, /[\\/]node_modules[\\/]query-string[\\/]/], }, tools: { rspack: config => { config.experiments = { ...config.experiments, asyncWebAssembly: true, rspackFuture: { ...config.experiments?.rspackFuture, }, }; return config; }, sass: { // 不能修改 additionalData: '@import "@feewee/h5app-common/dist/es/styles/custom_theme.css";', }, devServer: { proxy: { '/api/': { target: process.env.API_HOST, pathRewrite: { '^/api': '' }, }, '/api2/': { target: process.env.FILE_HOST, pathRewrite: { '^/api2/file': '' }, }, }, }, }, });