index.ts 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. import path from 'path';
  2. const config = {
  3. projectName: 'hola',
  4. date: '2023-10-5',
  5. designWidth: 750,
  6. deviceRatio: {
  7. 640: 2.34 / 2,
  8. 750: 1,
  9. 828: 1.81 / 2
  10. },
  11. sourceRoot: 'src',
  12. outputRoot: 'dist',
  13. plugins: [],
  14. defineConstants: {
  15. },
  16. copy: {
  17. patterns: [
  18. // {
  19. // from: `node_modules/tdesign-miniprogram-taro/miniprogram_dist/`,
  20. // to: `dist/miniprogram_npm/tdesign-miniprogram/`,
  21. // ignore: ['*.ts', '*.map', 'type.js']
  22. // },
  23. ],
  24. options: {
  25. }
  26. },
  27. framework: 'react',
  28. compiler: 'webpack5',
  29. cache: {
  30. enable: false // Webpack 持久化缓存配置,建议开启。默认配置请参考:https://docs.taro.zone/docs/config-detail#cache
  31. },
  32. alias: {
  33. '@': path.resolve(__dirname, '..', 'src'), // 这样配置后 @ 可以指向 src 目录
  34. '@components': path.resolve(__dirname, '../src/components'),
  35. '@assets': path.resolve(__dirname, '..', 'src/assets'),
  36. '@utils': path.resolve(__dirname, '..', 'src/utils'),
  37. '@features': path.resolve(__dirname, '..', 'src/features'),
  38. '@services': path.resolve(__dirname, '..', 'src/services'),
  39. },
  40. mini: {
  41. miniCssExtractPluginOption: {
  42. ignoreOrder: true
  43. },
  44. postcss: {
  45. pxtransform: {
  46. enable: true,
  47. config: {
  48. }
  49. },
  50. url: {
  51. enable: true,
  52. config: {
  53. limit: 1024 // 设定转换尺寸上限
  54. }
  55. },
  56. cssModules: {
  57. enable: false, // 默认为 false,如需使用 css modules 功能,则设为 true
  58. config: {
  59. namingPattern: 'module', // 转换模式,取值为 global/module
  60. generateScopedName: '[name]__[local]___[hash:base64:5]'
  61. }
  62. }
  63. }
  64. },
  65. h5: {
  66. publicPath: '/',
  67. staticDirectory: 'static',
  68. postcss: {
  69. autoprefixer: {
  70. enable: true,
  71. config: {
  72. }
  73. },
  74. cssModules: {
  75. enable: false, // 默认为 false,如需使用 css modules 功能,则设为 true
  76. config: {
  77. namingPattern: 'module', // 转换模式,取值为 global/module
  78. generateScopedName: '[name]__[local]___[hash:base64:5]'
  79. }
  80. }
  81. }
  82. },
  83. rn: {
  84. appName: 'taroDemo',
  85. alias: {
  86. '@': path.resolve(__dirname, '..', 'src'), // 这样配置后 @ 可以指向 src 目录
  87. '@components': path.resolve(__dirname, '../src/components'),
  88. '@assets': path.resolve(__dirname, '..', 'src/assets'),
  89. '@utils': path.resolve(__dirname, '..', 'src/utils'),
  90. '@features': path.resolve(__dirname, '..', 'src/features'),
  91. '@services': path.resolve(__dirname, '..', 'src/services'),
  92. },
  93. output: {
  94. ios: './ios/main.jsbundle',
  95. iosAssetsDest: './ios',
  96. android: './android/app/src/main/assets/index.android.bundle',
  97. androidAssetsDest: './android/app/src/main/res',
  98. // iosSourceMapUrl: '',
  99. iosSourcemapOutput: './ios/main.map',
  100. // iosSourcemapSourcesRoot: '',
  101. // androidSourceMapUrl: '',
  102. androidSourcemapOutput: './android/app/src/main/assets/index.android.map',
  103. // androidSourcemapSourcesRoot: '',
  104. },
  105. postcss: {
  106. cssModules: {
  107. enable: false, // 默认为 false,如需使用 css modules 功能,则设为 true
  108. }
  109. }
  110. }
  111. }
  112. module.exports = function (merge) {
  113. if (process.env.NODE_ENV === 'development') {
  114. return merge({}, config, require('./dev'))
  115. }
  116. return merge({}, config, require('./prod'))
  117. }