江夏图书馆大屏
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

86 lines
2.0 KiB

1 month ago
  1. const path = require('path')
  2. const resolve = dir => {
  3. return path.join(__dirname, dir)
  4. }
  5. const name = '江夏区图书馆智慧大屏'
  6. const webpack = require('webpack')
  7. module.exports = {
  8. publicPath: process.env.NODE_ENV === 'development' ? '/' : './',
  9. outputDir: 'dist',
  10. assetsDir: 'static',
  11. lintOnSave: process.env.NODE_ENV === 'development',
  12. productionSourceMap: false,
  13. devServer: {
  14. port: 8080,
  15. open: true,
  16. overlay: {
  17. warnings: false,
  18. errors: true
  19. },
  20. proxy: {
  21. '/qyzt/': {
  22. target: process.env.VUE_APP_BASE_API,
  23. changeOrigin: true,
  24. pathRewrite: {
  25. '^/qyzt': 'qyzt'
  26. }
  27. },
  28. '/openlib/': {
  29. target: process.env.VUE_APP_LIB_API,
  30. changeOrigin: true,
  31. pathRewrite: {
  32. '^/openlib': 'openlib'
  33. }
  34. }
  35. }
  36. },
  37. configureWebpack: {
  38. name: name,
  39. resolve: {
  40. alias: {
  41. '@': resolve('src')
  42. }
  43. },
  44. performance: {
  45. hints: 'warning',
  46. // 入口起点的最大体积
  47. maxEntrypointSize: 50000000,
  48. // 生成文件的最大体积
  49. maxAssetSize: 30000000
  50. },
  51. plugins: [
  52. new webpack.ProvidePlugin({
  53. $: 'jquery',
  54. jQuery: 'jquery',
  55. 'windows.jQuery': 'jquery'
  56. })
  57. ]
  58. },
  59. chainWebpack: config => {
  60. // set svg-sprite-loader
  61. config.module
  62. .rule('svg')
  63. .exclude.add(resolve('src/icons'))
  64. .end()
  65. config.module
  66. .rule('icons')
  67. .test(/\.svg$/)
  68. .include.add(resolve('src/icons'))
  69. .end()
  70. .use('svg-sprite-loader')
  71. .loader('svg-sprite-loader')
  72. .options({
  73. symbolId: 'icon-[name]'
  74. })
  75. .end()
  76. config.resolve
  77. .alias.set('_c', resolve('src/components'))
  78. config.plugin('html')
  79. .tap(args => {
  80. args[0].title = '江夏区图书馆智慧大屏'
  81. return args
  82. })
  83. }
  84. }