vue.config.js 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. const path = require("path");
  2. const webpack = require("webpack");
  3. const AntDesignThemePlugin = require("antd-theme-webpack-plugin");
  4. const { createMockMiddleware } = require("umi-mock-middleware");
  5. const options = {
  6. antDir: path.join(__dirname, "./node_modules/ant-design-vue"),
  7. stylesDir: path.join(__dirname, "./src"),
  8. varFile: path.join(
  9. __dirname,
  10. "./node_modules/ant-design-vue/lib/style/themes/default.less"
  11. ),
  12. mainLessFile: "",
  13. themeVariables: ["@primary-color"],
  14. generateOnce: false
  15. };
  16. const themePlugin = new AntDesignThemePlugin(options);
  17. module.exports = {
  18. css: {
  19. loaderOptions: {
  20. less: {
  21. modifyVars: {
  22. "primary-color": "#1DA57A"
  23. },
  24. javascriptEnabled: true
  25. }
  26. }
  27. },
  28. configureWebpack: {
  29. plugins: [themePlugin, new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/)],
  30. resolve: {
  31. alias: {
  32. // "@ant-design/icons/lib/dist$": path.resolve(__dirname, "./src/icons.js")
  33. }
  34. }
  35. },
  36. chainWebpack: config => {
  37. const svgRule = config.module.rule("svg");
  38. // 清除已有的所有 loader。
  39. // 如果你不这样做,接下来的 loader 会附加在该规则现有的 loader 之后。
  40. svgRule.uses.clear();
  41. // 添加要替换的 loader
  42. svgRule.use("vue-svg-loader").loader("vue-svg-loader");
  43. },
  44. devServer: {
  45. open: true,
  46. // 解析body,对接真实服务端环境需要注释掉
  47. before: function(app) {
  48. // var bodyParser = require("body-parser");
  49. // app.use(bodyParser.json());
  50. if (process.env.MOCK !== "none") {
  51. app.use(createMockMiddleware());
  52. }
  53. },
  54. proxy: {
  55. "/api": {
  56. target: "http://localhost:3000"
  57. // bypass: function(req, res) {
  58. // if (req.headers.accept.indexOf("html") !== -1) {
  59. // console.log("Skipping proxy for browser request.");
  60. // return "/index.html";
  61. // } else if (process.env.MOCK !== "none") {
  62. // console.log(req.path);
  63. // const name = req.path
  64. // .split("/api/")[1]
  65. // .split("/")
  66. // .join("_");
  67. // const mock = require(`./mock/${name}`);
  68. // const result = mock(req);
  69. // delete require.cache[require.resolve(`./mock/${name}`)];
  70. // return res.send(result);
  71. // }
  72. // return false;
  73. // }
  74. }
  75. }
  76. }
  77. };