编译配置

编译配置存放于项目根目录下 config 目录中,包含三个文件

  • index.js 是通用配置
  • dev.js 是项目预览时的配置
  • prod.js 是项目打包时的配置

index.js —— 通用配置

  1. const config ={
  2. // 项目名称
  3. projectName:'kj',
  4. // 项目创建日期
  5. date:'2018-6-8',
  6. // 设计稿尺寸
  7. designWidth:750,
  8. // 项目源码目录
  9. sourceRoot:'src',
  10. // 项目产出目录
  11. outputRoot:'dist',
  12. // 通用插件配置
  13. plugins:{
  14. babel:{
  15. sourceMap:true,
  16. presets:['env'],
  17. plugins:['transform-class-properties','transform-decorators-legacy','transform-object-rest-spread']
  18. }
  19. },
  20. // 全局变量设置
  21. defineConstants:{},
  22. // 文件 copy 配置
  23. copy:{
  24. patterns:[
  25. ],
  26. options:{
  27. }
  28. },
  29. // 小程序端专用配置
  30. weapp:{
  31. module:{
  32. postcss:{
  33. autoprefixer:{
  34. enable:true
  35. },
  36. // 小程序端样式引用本地资源内联配置
  37. url:{
  38. enable:true,
  39. config:{
  40. limit:10240
  41. }
  42. }
  43. }
  44. },
  45. // 替换 JSX 中的属性名,参考:
  46. // https://github.com/NervJS/taro/issues/2077
  47. jsxAttributeNameReplace:{}
  48. },
  49. // H5 端专用配置
  50. h5:{
  51. publicPath:'/',
  52. staticDirectory:'static',
  53. module:{
  54. postcss:{
  55. autoprefixer:{
  56. enable:true
  57. }
  58. }
  59. },
  60. // 自定义 Webpack 配置
  61. webpackChain:{},
  62. devServer:{}
  63. }
  64. };
  65. module.exports =function(merge){
  66. if(process.env.NODE_ENV ==='development'){
  67. return merge({}, config,require('./dev'));
  68. }
  69. return merge({}, config,require('./prod'));
  70. };