vue.config.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. module.exports = {
  2. publicPath: process.env.NODE_ENV === "production" ? "./" : "/",
  3. devServer: {
  4. // * 接口跨域处理
  5. proxy: {
  6. "/api": {
  7. target: "https://channelpre2.aizhuishu.com",
  8. changeOrigin: true,
  9. },
  10. "/channel/img": {
  11. target: "https://channelpre2.aizhuishu.com",
  12. changeOrigin: true,
  13. },
  14. },
  15. disableHostCheck: true,
  16. },
  17. css: {
  18. sourceMap: false,
  19. loaderOptions: {
  20. scss: {
  21. prependData: `@import "~@/scss/variables.scss";`,
  22. },
  23. less: {
  24. lessOptions: {
  25. modifyVars: {
  26. "primary-color": "#39a4ff",
  27. "link-color": "#39a4ff",
  28. },
  29. javascriptEnabled: true,
  30. },
  31. },
  32. },
  33. },
  34. configureWebpack: {
  35. resolve: {
  36. extensions: [".js", ".vue", ".json", ".ts"],
  37. },
  38. },
  39. chainWebpack: (config) => {
  40. // * 移除prefetch和preload
  41. config.plugins.delete("prefetch");
  42. config.plugins.delete("preload");
  43. if (process.env.NODE_ENV === "production") {
  44. // config.entry("index").add("babel-polyfill");
  45. config.plugin("html").tap((args) => {
  46. // 加上属性引号
  47. args[0].minify.removeAttributeQuotes = false;
  48. // args[0].cdn = cdns.build;
  49. return args;
  50. });
  51. }
  52. },
  53. };