华农3D项目
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.

79 lines
1.8 KiB

2 months 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. }
  29. },
  30. configureWebpack: {
  31. name: name,
  32. resolve: {
  33. alias: {
  34. '@': resolve('src')
  35. }
  36. },
  37. performance: {
  38. hints: 'warning',
  39. // 入口起点的最大体积
  40. maxEntrypointSize: 50000000,
  41. // 生成文件的最大体积
  42. maxAssetSize: 30000000
  43. },
  44. plugins: [
  45. new webpack.ProvidePlugin({
  46. $: 'jquery',
  47. jQuery: 'jquery',
  48. 'windows.jQuery': 'jquery'
  49. })
  50. ]
  51. },
  52. chainWebpack: config => {
  53. // set svg-sprite-loader
  54. config.module
  55. .rule('svg')
  56. .exclude.add(resolve('src/icons'))
  57. .end()
  58. config.module
  59. .rule('icons')
  60. .test(/\.svg$/)
  61. .include.add(resolve('src/icons'))
  62. .end()
  63. .use('svg-sprite-loader')
  64. .loader('svg-sprite-loader')
  65. .options({
  66. symbolId: 'icon-[name]'
  67. })
  68. .end()
  69. config.resolve
  70. .alias.set('_c', resolve('src/components'))
  71. config.plugin('html')
  72. .tap(args => {
  73. args[0].title = '智慧安消全景数字看板'
  74. return args
  75. })
  76. }
  77. }