vue.config.js 984 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. const path = require('path')
  2. function resolve(dir) {
  3. return path.join(__dirname, dir)
  4. }
  5. module.exports = {
  6. css: {
  7. loaderOptions: {
  8. less: {
  9. javascriptEnabled: true
  10. }
  11. }
  12. },
  13. chainWebpack: config => {
  14. // set svg-sprite-loader
  15. config.module
  16. .rule('svg')
  17. .exclude.add(resolve('src/icons'))
  18. .end()
  19. config.module
  20. .rule('icons')
  21. .test(/\.svg$/)
  22. .include.add(resolve('src/icons'))
  23. .end()
  24. .use('svg-sprite-loader')
  25. .loader('svg-sprite-loader')
  26. .options({
  27. symbolId: 'icon-[name]'
  28. })
  29. .end()
  30. },
  31. pwa: {
  32. workboxOptions: {
  33. // https://developers.google.com/web/tools/workbox/modules/workbox-webpack-plugin
  34. skipWaiting: true,
  35. clientsClaim: true,
  36. importScripts: [
  37. 'https://storage.googleapis.com/workbox-cdn/releases/6.4.1/workbox-sw.js'
  38. ],
  39. navigateFallback: '/',
  40. navigateFallbackDenylist: [/\/api\//]
  41. }
  42. }
  43. };