| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- import path from 'node:path'
- import { mkdirSync, writeFileSync } from 'node:fs'
- import { defineConfig } from '@tarojs/cli'
- import { outputDirectory, readPublicConfig, resolveEnvironment } from './environments'
- import packageJson from '../package.json'
- import project from '../project.config.json'
- export default defineConfig<'vite'>(() => {
- const environment = resolveEnvironment(process.env.APP_ENV)
- const platform = process.env.TARO_ENV ?? 'weapp'
- // Taro loads .env files for the explicit --mode before evaluating this config.
- const publicConfig = readPublicConfig(process.env)
- const metadataDirectory = path.resolve(__dirname, '../.cache/build', platform, environment.name)
- const metadata = {
- environment: environment.name, label: publicConfig.label, platform,
- version: packageJson.version, dataSource: environment.dataSource, builtAt: new Date().toISOString(),
- }
- mkdirSync(metadataDirectory, { recursive: true })
- writeFileSync(path.join(metadataDirectory, 'build-info.json'), `${JSON.stringify(metadata, null, 2)}\n`)
- if (platform === 'weapp') {
- const weappProject = {
- ...project, miniprogramRoot: './', appid: process.env.TARO_APP_ID || project.appid,
- projectname: `math.miniapp-${environment.name}`,
- }
- writeFileSync(path.join(metadataDirectory, 'project.config.json'), `${JSON.stringify(weappProject, null, 2)}\n`)
- }
- return {
- projectName: `math.miniapp-${environment.name}`,
- date: '2026-10-26',
- designWidth: 750,
- deviceRatio: { 375: 2, 640: 1.17, 750: 1, 828: 0.905 },
- sourceRoot: 'src',
- outputRoot: outputDirectory(platform),
- framework: 'react',
- compiler: 'vite',
- alias: { '@': path.resolve(__dirname, '../src') },
- defineConstants: {
- __APP_ENV__: JSON.stringify(environment.name),
- __APP_ENV_LABEL__: JSON.stringify(publicConfig.label),
- __APP_VERSION__: JSON.stringify(packageJson.version),
- },
- copy: {
- patterns: [
- { from: `.cache/build/${platform}/${environment.name}/build-info.json`, to: `${outputDirectory(platform)}/build-info.json` },
- ...(platform === 'weapp' ? [{ from: `.cache/build/${platform}/${environment.name}/project.config.json`, to: `${outputDirectory(platform)}/project.config.json` }] : []),
- ],
- options: {},
- },
- mini: { postcss: { pxtransform: { enable: true }, cssModules: { enable: false } } },
- h5: {
- publicPath: '/',
- staticDirectory: 'static',
- router: { mode: 'hash' },
- devServer: { host: '127.0.0.1', port: 10086 },
- postcss: { pxtransform: { enable: true, config: { maxRootSize: 25.6 } }, autoprefixer: { enable: true }, cssModules: { enable: false } },
- },
- }
- })
|