vue.config.js 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. const autoprefixer = require("autoprefixer");
  2. const pxtorem = require("postcss-pxtorem");
  3. const path = require('path');
  4. const themePath = path.resolve(__dirname, 'src/assets/style/theme.less');
  5. module.exports = {
  6. // 关闭eslint检查
  7. lintOnSave: false,
  8. // 配置css前缀,px转rem
  9. css: {
  10. loaderOptions: {
  11. less: {
  12. // http://lesscss.org/usage/#less-options-strict-units `Global Variables`
  13. // `primary` is global variables fields name
  14. // modifyVars: {
  15. // // 直接覆盖变量
  16. // "text-color": "#111",
  17. // "border-color": "#eee",
  18. // "nav-bar-text-color": "#c03131",
  19. // "van-nav-bar__text": "#c03131",
  20. // "nav-bar-title-text-color": "#c03131",
  21. // // 或者可以通过 less 文件覆盖(文件路径为绝对路径)
  22. // // hack: `true; @import "@/assets/style/my-theme.less";`
  23. // }
  24. modifyVars: {
  25. hack: `true; @import "${themePath}";`
  26. }
  27. },
  28. postcss: {
  29. plugins: [
  30. autoprefixer(),
  31. pxtorem({
  32. rootValue: 37.5,
  33. propList: ["*"]
  34. })
  35. ]
  36. }
  37. }
  38. },
  39. configureWebpack: {
  40. externals: {
  41. axios: "axios" // 配置使用CDN
  42. }
  43. },
  44. devServer: {
  45. // 代理
  46. proxy: {
  47. // 只要请求地址有'api'都会匹配上
  48. "/api": {
  49. target: "http://localhost:5000",
  50. ws: true,
  51. // 允许跨域
  52. changeOrigin: true,
  53. pathRewrite: {
  54. "^/api": "" //通过pathRewrite重写地址,将前缀/api转为/
  55. }
  56. }
  57. }
  58. }
  59. // css: {
  60. // loaderOptions: {
  61. // // 给 less-loader 传递 Less.js 相关选项
  62. // less: {
  63. // // http://lesscss.org/usage/#less-options-strict-units `Global Variables`
  64. // // `primary` is global variables fields name
  65. // // modifyVars: {
  66. // // // 直接覆盖变量
  67. // // "text-color": "#111",
  68. // // "border-color": "#eee",
  69. // // "nav-bar-text-color": "#c03131",
  70. // // "van-nav-bar__text": "#c03131",
  71. // // "nav-bar-title-text-color": "#c03131",
  72. // // // 或者可以通过 less 文件覆盖(文件路径为绝对路径)
  73. // // // hack: `true; @import "@/assets/style/my-theme.less";`
  74. // // }
  75. // modifyVars: {
  76. // red: "#03a9f4",
  77. // blue: "#3eaf7c",
  78. // orange: "#f08d49",
  79. // "text-color": "#111"
  80. // }
  81. // }
  82. // }
  83. // }
  84. // chainWebpack: config => {
  85. // const lessRule = config.module.rule("less");
  86. // lessRule.uses.clear();
  87. // lessRule
  88. // .test(/\.less$/)
  89. // .use("style-loader")
  90. // .loader("css-loader")
  91. // .loader("less-loader")
  92. // .options({
  93. // modifyVars: {
  94. // // 直接覆盖变量
  95. // "text-color": "#111",
  96. // "border-color": "#eee",
  97. // // 或者可以通过 less 文件覆盖(文件路径为绝对路径)
  98. // hack: `true; @import "@/assets/style/my-theme.less";`
  99. // }
  100. // });
  101. // }
  102. // // 自定义主题样式
  103. // rules: [
  104. // {
  105. // test: /\.less$/,
  106. // use: [
  107. // // ...其他 loader 配置
  108. // {
  109. // loader: "less-loader",
  110. // options: {
  111. // modifyVars: {
  112. // // 直接覆盖变量
  113. // "text-color": "#111",
  114. // "border-color": "#eee",
  115. // // 或者可以通过 less 文件覆盖(文件路径为绝对路径)
  116. // hack: `true; @import "@/assets/style/my-theme.less";`
  117. // }
  118. // }
  119. // }
  120. // ]
  121. // }
  122. // ]
  123. // devServer: {
  124. // // 代理
  125. // proxy: {
  126. // // 只要请求地址有'api'都会匹配上
  127. // "/api": {
  128. // target: "http://132.232.94.151:3005",
  129. // ws: true,
  130. // // 允许跨域
  131. // changeOrigin: true,
  132. // pathRewrite: {
  133. // "^/api": "" //通过pathRewrite重写地址,将前缀/api转为/
  134. // }
  135. // }
  136. // }
  137. // }
  138. };