vue.config.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. const webpack = require('webpack')
  2. const { defineConfig } = require('@vue/cli-service')
  3. process.env.VUE_APP_VERSION = require('./package.json').version
  4. const dayjs = require('dayjs')
  5. const time = dayjs().format('YYYY-M-D HH:mm:ss')
  6. process.env.VUE_APP_UPDATE_TIME = time
  7. module.exports = defineConfig({
  8. // pages: {
  9. // index: {
  10. // entry: 'src/main.js',
  11. // template: 'public/index.html',
  12. // filename: 'index.html'
  13. // },
  14. // answer: {
  15. // entry: 'public/static/js/main.0ce06caf.js',
  16. // template: 'public/answer/index.html',
  17. // filename: 'answer.html'
  18. // }
  19. // },
  20. publicPath: process.env.PUBLIC_PATH,
  21. productionSourceMap: process.env.VUE_APP_CLI_MODE === 'prod' ? false : true,
  22. chainWebpack: config => {
  23. config.module
  24. .rule('images')
  25. .test(/\.(jpg|png|gif)$/)
  26. .set('parser', {
  27. dataUrlCondition: {
  28. maxSize: 5 * 1024
  29. }
  30. })
  31. },
  32. // transpileDependencies: true, // 默认false,表示babel-loader 会忽略所有 node_modules 中的文件
  33. configureWebpack: {
  34. module: {
  35. rules: [
  36. // {
  37. // test: /\.cur$/,
  38. // use: {
  39. // loader: 'file-loader'
  40. // }
  41. // }
  42. ]
  43. },
  44. plugins: [
  45. new webpack.ProvidePlugin({
  46. utils: ['/src/utils.js', 'default'],
  47. store: ['/src/store/index.js', 'default'],
  48. api: ['/src/api.js', 'default'],
  49. config: ['/src/config.js', 'default'],
  50. mapState: ['vuex', 'mapState'],
  51. mapGetters: ['vuex', 'mapGetters'],
  52. mapMutations: ['vuex', 'mapMutations'],
  53. useSizeAdapt: ['/src/useFunctions/useSizeAdapt.js', 'default'],
  54. }),
  55. ],
  56. },
  57. })