123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- import { defineConfig, type UserConfigExport } from '@tarojs/cli'
- import TsconfigPathsPlugin from 'tsconfig-paths-webpack-plugin'
- import devConfig from './dev'
- import prodConfig from './prod'
- import NutUIResolver from '@nutui/auto-import-resolver'
- import Components from 'unplugin-vue-components/vite'
- // https://taro-docs.jd.com/docs/next/config#defineconfig-辅助函数
- export default defineConfig<'vite'>(async (merge, { command, mode }) => {
- const baseConfig: UserConfigExport<'vite'> = {
- projectName: 'frontui',
- date: '2024-12-22',
- designWidth (input) {
- // 配置 NutUI 375 尺寸
- if (input?.file?.replace(/\\+/g, '/').indexOf('@nutui') > -1) {
- return 375
- }
- // 全局使用 Taro 默认的 750 尺寸
- return 750
- },
- deviceRatio: {
- 640: 2.34 / 2,
- 750: 1,
- 375: 2,
- 828: 1.81 / 2
- },
- sourceRoot: 'src',
- outputRoot: 'dist',
- plugins: ['@tarojs/plugin-html'],
- defineConstants: {
- },
- copy: {
- patterns: [
- ],
- options: {
- }
- },
- framework: 'vue3',
- compiler: {
- type: 'vite',
- vitePlugins: [
- Components({
- resolvers: [NutUIResolver({taro: true})]
- })
- ]
- },
- mini: {
- postcss: {
- pxtransform: {
- enable: true,
- config: {
- }
- },
- cssModules: {
- enable: false, // 默认为 false,如需使用 css modules 功能,则设为 true
- config: {
- namingPattern: 'module', // 转换模式,取值为 global/module
- generateScopedName: '[name]__[local]___[hash:base64:5]'
- }
- }
- }
- },
- h5: {
- publicPath: '/',
- staticDirectory: 'static',
- miniCssExtractPluginOption: {
- ignoreOrder: true,
- filename: 'css/[name].[hash].css',
- chunkFilename: 'css/[name].[chunkhash].css'
- },
- postcss: {
- autoprefixer: {
- enable: true,
- config: {}
- },
- cssModules: {
- enable: false, // 默认为 false,如需使用 css modules 功能,则设为 true
- config: {
- namingPattern: 'module', // 转换模式,取值为 global/module
- generateScopedName: '[name]__[local]___[hash:base64:5]'
- }
- }
- }
- },
- rn: {
- appName: 'taroDemo',
- postcss: {
- cssModules: {
- enable: false, // 默认为 false,如需使用 css modules 功能,则设为 true
- }
- }
- }
- }
- if (process.env.NODE_ENV === 'development') {
- // 本地开发构建配置(不混淆压缩)
- return merge({}, baseConfig, devConfig)
- }
- // 生产构建配置(默认开启压缩混淆等)
- return merge({}, baseConfig, prodConfig)
- })
|