123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. const path = require('path')
  2. const { routes } = require('../src/routes')
  3. const config = {
  4. projectName: 'miniapp',
  5. date: '2021-5-12',
  6. designWidth: 750,
  7. deviceRatio: {
  8. 640: 2.34 / 2,
  9. 750: 1,
  10. 828: 1.81 / 2
  11. },
  12. sourceRoot: 'src',
  13. outputRoot: 'dist',
  14. plugins: [],
  15. defineConstants: {
  16. },
  17. alias: {
  18. '@/assets': path.resolve(__dirname, '..', 'src/assets'),
  19. '@/actions': path.resolve(__dirname, '..', 'src/actions'),
  20. '@/components': path.resolve(__dirname, '..', 'src/components'),
  21. '@/layout': path.resolve(__dirname, '..', 'src/layout'),
  22. '@/constants': path.resolve(__dirname, '..', 'src/constants'),
  23. '@/reducers': path.resolve(__dirname, '..', 'src/reducers'),
  24. '@/store': path.resolve(__dirname, '..', 'src/store'),
  25. '@/services': path.resolve(__dirname, '..', 'src/services'),
  26. '@/utils': path.resolve(__dirname, '..', 'src/utils'),
  27. '@/native': path.resolve(__dirname, '..', 'src/native'),
  28. '@/pages': path.resolve(__dirname, '..', 'src/pages'),
  29. '@/subpackages': path.resolve(__dirname, '..', 'src/subpackages'),
  30. },
  31. copy: {
  32. patterns: [
  33. // { from: 'src/native/', to: 'dist/native/' },
  34. // { from: 'src/subpackages/native/', to: 'dist/subpackages/native/' },
  35. ],
  36. options: {
  37. }
  38. },
  39. framework: 'react',
  40. mini: {
  41. // addChunkPages (pages) {
  42. // // pages.set('subpackages/bar/index', ['subpackages/common'])
  43. // routes.filter(r => r.pkg === 'subpackages').forEach((r) => {
  44. // pages.set(r.pkg + '/' + r.page, ['subpackages/common'])
  45. // })
  46. // },
  47. // webpackChain (chain) {
  48. // chain.merge({
  49. // optimization: {
  50. // splitChunks: {
  51. // cacheGroups: {
  52. // subpackagesCommon: {
  53. // name: 'subpackages/common',
  54. // minChunks: 2,
  55. // test: (module, chunks) => {
  56. // const isNoOnlySubpackRequired = chunks.find(chunk => !(/\bsubpackages\b/.test(chunk.name)))
  57. // return !isNoOnlySubpackRequired
  58. // },
  59. // priority: 200
  60. // }
  61. // }
  62. // }
  63. // }
  64. // })
  65. // },
  66. compile: {
  67. // exclude: [
  68. // path.resolve(__dirname, '..', 'src/native/')
  69. // ]
  70. },
  71. postcss: {
  72. pxtransform: {
  73. enable: true,
  74. config: {
  75. }
  76. },
  77. url: {
  78. enable: true,
  79. config: {
  80. limit: 1024 // 设定转换尺寸上限
  81. }
  82. },
  83. cssModules: {
  84. enable: false, // 默认为 false,如需使用 css modules 功能,则设为 true
  85. config: {
  86. namingPattern: 'module', // 转换模式,取值为 global/module
  87. generateScopedName: '[name]__[local]___[hash:base64:5]'
  88. }
  89. }
  90. }
  91. },
  92. h5: {
  93. publicPath: '/',
  94. staticDirectory: 'static',
  95. postcss: {
  96. autoprefixer: {
  97. enable: true,
  98. config: {
  99. }
  100. },
  101. cssModules: {
  102. enable: false, // 默认为 false,如需使用 css modules 功能,则设为 true
  103. config: {
  104. namingPattern: 'module', // 转换模式,取值为 global/module
  105. generateScopedName: '[name]__[local]___[hash:base64:5]'
  106. }
  107. }
  108. }
  109. }
  110. }
  111. module.exports = function (merge) {
  112. if (process.env.NODE_ENV === 'development') {
  113. return merge({}, config, require('./dev'))
  114. }
  115. return merge({}, config, require('./prod'))
  116. }