vue.config.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. //"use strict" 指令在 JavaScript 1.8.5 (ECMAScript5) 中新增。
  2. //
  3. // 它不是一条语句,但是是一个字面量表达式,在 JavaScript 旧版本中会被忽略。
  4. //
  5. // "use strict" 的目的是指定代码在严格条件下执行。
  6. //
  7. // 严格模式下你不能使用未声明的变量。
  8. 'use strict'
  9. const path = require('path')
  10. // 定义输出路径,根据springboot启动对入口文件的要求,指定改路径,打包成jar后根路径既为class路径
  11. var outputDir = path.resolve(__dirname, './target/classes/static')
  12. function resolve(dir) {
  13. return path.join(__dirname, dir)
  14. }
  15. module.exports = {
  16. //基本路径
  17. publicPath: './',
  18. //构建时的输出路径
  19. outputDir: outputDir,
  20. //构建时放置静态资源路径,根路径为outputDir
  21. assetsDir: 'assets',
  22. //是否在保存的时候使用 `eslint-loader` 进行检查
  23. lintOnSave:true,
  24. //是否使用包含运行时编译器的 Vue 构建版本。设置为 true 后你就可以在 Vue 组件中使用 template 选项了,但是这会让你的应用额外增加 10kb 左右
  25. runtimeCompiler:true,
  26. //用于多页配置,默认是undefined
  27. pages:{
  28. index:{
  29. //page的入口文件
  30. entry:'index/main.js',
  31. //模板文件
  32. template:'public/index.html',
  33. //在输出路径中的文件输出文件名
  34. filename:'index.html',
  35. //当使用页面title选项时,
  36. //template中的title标签需要是<title><%= htmlWebpackPlugin.options.title %></title>
  37. title:'样例'
  38. }
  39. },
  40. chainWebpack: config => {
  41. // set svg-sprite-loader 设置自定义SVG图标
  42. config.module
  43. .rule('svg')
  44. .exclude.add(resolve('index/layout/icons'))
  45. .end()
  46. config.module
  47. .rule('icons')
  48. .test(/\.svg$/)
  49. .include.add(resolve('index/layout/icons'))
  50. .end()
  51. .use('svg-sprite-loader')
  52. .loader('svg-sprite-loader')
  53. .options({
  54. symbolId: 'icon-[name]'
  55. })
  56. .end()
  57. }
  58. }