vue.config.js 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. 'use strict'
  2. const path = require('path')
  3. const os = require('os')
  4. function resolve(dir) {
  5. return path.join(__dirname, dir)
  6. }
  7. const name = process.env.VUE_APP_TITLE || 'Easy Industrial Report' // 网页标题
  8. const port = process.env.port || process.env.npm_config_port || 81 // 端口
  9. process.env.VUE_APP_WINNAME = os.hostname()
  10. process.env.VUE_APP_SOFTWARENAME = name
  11. // vue.config.js 配置说明
  12. //官方vue.config.js 参考文档 https://cli.vuejs.org/zh/config/#css-loaderoptions
  13. // 这里只列一部分,具体配置参考文档
  14. module.exports = {
  15. // 部署生产环境和开发环境下的URL。
  16. // 默认情况下,Vue CLI 会假设你的应用是被部署在一个域名的根路径上
  17. publicPath: process.env.NODE_ENV === "production" ? "/" : "/",
  18. // 在npm run build 或 yarn build 时 ,生成文件的目录名称(要和baseUrl的生产环境路径一致)(默认dist)
  19. outputDir: 'dist',
  20. // 用于放置生成的静态资源 (js、css、img、fonts) 的;(项目打包之后,静态资源会放在这个文件夹下)
  21. assetsDir: 'static',
  22. lintOnSave: process.env.NODE_ENV === 'development',
  23. productionSourceMap: true,
  24. devServer: {
  25. port: port,
  26. // open: true,
  27. },
  28. configureWebpack: {
  29. name: name,
  30. resolve: {
  31. alias: {
  32. '@': resolve('src')
  33. },
  34. fallback: {
  35. path: require.resolve("path-browserify"),
  36. }
  37. },
  38. plugins: [],
  39. },
  40. chainWebpack(config) {
  41. config.plugins.delete('preload') // TODO: need test
  42. config.plugins.delete('prefetch') // TODO: need test
  43. // svg 环境
  44. config.module
  45. .rule('svg')
  46. .exclude.add(resolve('src/assets/icons'))
  47. .end()
  48. config.module
  49. .rule('icons')
  50. .test(/\.svg$/)
  51. .include.add(resolve('src/assets/icons'))
  52. .end()
  53. .use('svg-sprite-loader')
  54. .loader('svg-sprite-loader')
  55. .options({
  56. symbolId: 'icon-[name]'
  57. })
  58. .end()
  59. },
  60. pluginOptions: {
  61. electronBuilder: {
  62. customFileProtocol: './',
  63. builderOptions: {
  64. 'productName': name, // 生成 exe 的名字
  65. 'appId': 'com.jd.cqcy', // 包名
  66. 'copyright': 'cqcy', // 版权信息
  67. 'nsis': {
  68. 'oneClick': false, // 是否一键安装
  69. 'allowElevation': true, // 允许请求提升。若为 false,则用户必须使用提升的权限重新启动安装程序
  70. 'allowToChangeInstallationDirectory': true, // 是否允许修改安装目录
  71. 'installerIcon': './build/icons/icon.ico', // 安装时图标
  72. 'uninstallerIcon': './build/icons/icon.ico', // 卸载时图标
  73. 'installerHeaderIcon': './build/icons/icon.ico', // 安装时头部图标
  74. 'createDesktopShortcut': true, // 是否创建桌面图标
  75. 'createStartMenuShortcut': true, // 是否创建开始菜单图标
  76. 'shortcutName': name, // 快捷方式名称
  77. 'runAfterFinish': false // 是否安装完成后运行
  78. },
  79. 'win': {
  80. 'icon': 'build/icons/icon.ico', // 图标路径
  81. 'target': [{
  82. 'target': 'nsis', // 利用 nsis 制作安装程序
  83. 'arch': ['x64']
  84. }],
  85. 'publish': [
  86. {
  87. 'provider': 'generic',
  88. 'url': 'http://192.168.1.99:8081/'
  89. }
  90. ]
  91. }
  92. }
  93. }
  94. }
  95. }