vue.config.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. var TerserPlugin = require("terser-webpack-plugin");
  2. var devProxy = {};
  3. try {
  4. devProxy = require("./dev-proxy");
  5. } catch (error) {}
  6. var proxy = process.env.NODE_ENV === "production" ? {} : devProxy;
  7. // 配置手册: https://cli.vuejs.org/zh/config/#vue-config-js
  8. // electron-bulder配置:https://www.electron.build/configuration/contents#extrafiles
  9. var config = {
  10. // publicPath: './',
  11. devServer: {
  12. port: 8066
  13. },
  14. pluginOptions: {
  15. electronBuilder: {
  16. builderOptions: {
  17. extraFiles: [
  18. "extra/encrypt/**",
  19. "extra/font/**",
  20. "extra/imagemagick/**",
  21. "extra/zxing/**",
  22. "extra/database/org.rdb",
  23. "config.sample.json"
  24. ]
  25. }
  26. }
  27. }
  28. };
  29. // compress配置手册:https://github.com/mishoo/UglifyJS2/tree/harmony#compress-options
  30. if (process.env.NODE_ENV === "production") {
  31. config.configureWebpack = {
  32. plugins: [],
  33. optimization: {
  34. minimizer: [
  35. new TerserPlugin({
  36. terserOptions: { compress: { drop_console: true } }
  37. })
  38. ]
  39. }
  40. };
  41. }
  42. if (proxy && Object.keys(proxy).length) {
  43. config.devServer.proxy = proxy;
  44. }
  45. // 解决iview自定义主题导入less报错
  46. config.css = {
  47. loaderOptions: {
  48. less: {
  49. javascriptEnabled: true
  50. }
  51. }
  52. };
  53. module.exports = config;