vue.config.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. const path = require('path')
  2. var webpack = require('webpack')
  3. const defaultSettings = require('./src/settings.js')
  4. const name = defaultSettings.title || 'SASS' //标题
  5. function resolve(dir) {
  6. return path.join(__dirname, dir)
  7. }
  8. module.exports = {
  9. //路径前缀
  10. publicPath: '/',
  11. lintOnSave: true,
  12. productionSourceMap: false,
  13. chainWebpack: (config) => {
  14. config.plugin('provide').use(webpack.ProvidePlugin, [{
  15. 'window.Quill': 'quill/dist/quill.js',
  16. Quill: 'quill/dist/quill.js',
  17. }, ])
  18. //忽略的打包文件
  19. config.externals({
  20. vue: 'Vue',
  21. 'vue-router': 'VueRouter',
  22. vuex: 'Vuex',
  23. axios: 'axios',
  24. })
  25. const entry = config.entry('app')
  26. entry.add('babel-polyfill').end()
  27. entry.add('classlist-polyfill').end()
  28. entry.add('@/mock').end()
  29. config.resolve.alias.set('@', resolve('packages')).set('@utils', resolve('packages/utils')).set('@mixins', resolve('packages/mixins'))
  30. // set svg-sprite-loader
  31. config.module.rules.delete('svg') // 重点:删除默认配置中处理svg
  32. config.module
  33. .rule('svg-sprite-loader')
  34. .test(/\.svg$/)
  35. .include.add(resolve('src/icons')) // 处理svg目录
  36. .end()
  37. .use('svg-sprite-loader')
  38. .loader('svg-sprite-loader')
  39. .options({
  40. symbolId: 'icon-[name]',
  41. })
  42. },
  43. css: {
  44. extract: {
  45. ignoreOrder: true,
  46. },
  47. },
  48. //开发模式反向代理配置,生产模式请使用Nginx部署并配置反向代理
  49. devServer: {
  50. port: 1888,
  51. proxy: {
  52. [process.env.VUE_APP_BASE_API]: {
  53. //本地服务接口地址
  54. // target: 'http://localhost',
  55. // target: 'http://114.115.215.228:8866',
  56. // target: 'http://192.168.1.36:8866',
  57. target: 'http://139.9.184.42:8866',
  58. // target: 'https://winfaster.cn/api',
  59. //远程演示服务地址,可用于直接启动项目
  60. // target: 'https://saber.bladex.vip/api',
  61. changeOrigin: true,
  62. // ws: true,
  63. pathRewrite: {
  64. [`^${process.env.VUE_APP_BASE_API}`]: '/',
  65. },
  66. },
  67. },
  68. },
  69. configureWebpack: {
  70. name: name,
  71. resolve: {
  72. alias: {
  73. '@': resolve('src'),
  74. },
  75. },
  76. // plugins: [
  77. // new webpack.ProvidePlugin({
  78. // 'window.Quill': 'quill/dist/quill.js',
  79. // 'Quill': 'quill/dist/quill.js'
  80. // }),
  81. // ]
  82. },
  83. }