vue.config.js 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. const path = require("path");
  2. function resolve(dir) {
  3. return path.join(__dirname, dir);
  4. }
  5. module.exports = {
  6. publicPath: './', // 基本路径
  7. outputDir: 'dist', // 构建时的输出目录
  8. assetsDir: 'static', // 放置静态资源的目录
  9. indexPath: 'index.html', // html 的输出路径
  10. filenameHashing: true, // 文件名哈希值
  11. lintOnSave: false, // 是否在保存的时候使用 `eslint-loader` 进行检查。
  12. // 组件是如何被渲染到页面中的? (ast:抽象语法树;vDom:虚拟DOM)
  13. // template ---> ast ---> render ---> vDom ---> 真实的Dom ---> 页面
  14. // runtime-only:将template在打包的时候,就已经编译为render函数
  15. // runtime-compiler:在运行的时候才去编译template
  16. runtimeCompiler: false,
  17. transpileDependencies: [], // babel-loader 默认会跳过 node_modules 依赖。
  18. productionSourceMap: false, // 是否为生产环境构建生成 source map
  19. //调整内部的 webpack 配置
  20. configureWebpack: () => { },
  21. devServer: {
  22. proxy: {
  23. '/socket.io':{
  24. target: 'http://192.168.1.6:1234', // target host
  25. changeOrigin: true, // needed for virtual hosted sites
  26. logLevel: 'debug'
  27. },
  28. '/sockjs-node': {
  29. target: 'http://192.168.1.6:1234',
  30. ws: false,
  31. changeOrigin: true
  32. }
  33. }
  34. },
  35. chainWebpack: config => {
  36. config.resolve.alias
  37. .set("@", resolve("src"))
  38. .set("assets", resolve("src/assets"))
  39. .set("components", resolve("src/components"))
  40. .set("public", resolve("public"));
  41. // set svg-sprite-loader
  42. config.module
  43. .rule('svg')
  44. .exclude.add(resolve('src/assets')) // 存放 svg 目录的目录
  45. .end()
  46. config.module
  47. .rule('assets')
  48. .test(/\.svg$/)
  49. .include.add(resolve('src/assets')) // 存放 svg 目录的目录
  50. .end()
  51. .use('svg-sprite-loader')
  52. .loader('svg-sprite-loader')
  53. .options({
  54. symbolId: 'icon-[name]'
  55. })
  56. .end()
  57. }
  58. }