vue.config.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. var webpack = require("webpack");
  2. var TerserPlugin = require("terser-webpack-plugin");
  3. var devProxy = {
  4. "/api/": {
  5. target: process.env.VUE_APP_DEV_PROXY,
  6. changeOrigin: true
  7. }
  8. };
  9. // 配置手册: https://cli.vuejs.org/zh/config/#vue-config-js
  10. var config = {
  11. // publicPath: './',
  12. devServer: {
  13. port: 8056,
  14. proxy: devProxy
  15. },
  16. chainWebpack: config => {
  17. // webpack-chain配置手册:github.com/neutrinojs/webpack-chain#getting-started
  18. config.plugin("provide").use(webpack.ProvidePlugin, [
  19. {
  20. "window.Quill": "quill/dist/quill.js",
  21. Quill: "quill/dist/quill.js"
  22. }
  23. ]);
  24. // 限制base64图片的大小在20kb以下
  25. config.module
  26. .rule("images")
  27. .use("url-loader")
  28. .loader("url-loader")
  29. .tap(options => Object.assign(options, { limit: 20480 }));
  30. }
  31. };
  32. // compress配置手册:https://github.com/mishoo/UglifyJS2/tree/harmony#compress-options
  33. if (process.env.NODE_ENV === "production") {
  34. config.configureWebpack = {
  35. optimization: {
  36. minimizer: [
  37. new TerserPlugin({
  38. terserOptions: { compress: { drop_console: true } }
  39. })
  40. ]
  41. }
  42. };
  43. }
  44. module.exports = config;