web.js 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. 'use strict';
  2. /**
  3. * 前端所需js
  4. *
  5. * {String} webPath: 记录 合并压缩后的 文件存放的路径
  6. * {String[]} commonFiles: 所有页面通用的js包文件
  7. * {Object} controller: 根据controller和action来区分不同的页面数据
  8. * - files: 当前页面所需的js包文件
  9. * - mergeFiles: 当前页面所需 合并压缩的 js文件
  10. * - mergeFile: 合并压缩后 生成的js文件名
  11. *
  12. * 在app中运行合并压缩代码,运行后数据为app.jsFiles,示例(ledger)如下:
  13. * app.jsFiles = {
  14. * common: String[]
  15. * controller1: {
  16. * action1: String[]
  17. * action2: String[]
  18. * }
  19. * }
  20. *
  21. * 在Controller中使用时,需添加到renderData.jsFiles中,并调用Layout方法
  22. * 没有该值时,Layout方法会自动加载app.jsFiles.common
  23. * 有该值时,例如台账审核页面,renderData.jsFiles = app.jsFiles.ledger.audit = ['/public/js/spreadjs/sheets/gc.spread.sheets.all.10.0.1.min.js', '/public/js/web/ledger_audit.min.1.0.0.js']
  24. * 则layout方法会同时加载app.jsFiles.common与renderData.jsFiles
  25. * 加载位置为head
  26. *
  27. * 如果页面无需合并压缩js文件,可以直接添加到JsFiles.controller.controller1.action1.files,也可以直接添加到调用的ejs模板中
  28. *
  29. * @author Mai
  30. * @date 2019/1/10
  31. * @version
  32. */
  33. const JsFiles = {
  34. webPath: "/public/js/web/",
  35. commonFiles: [
  36. "/public/js/jquery/jquery-3.2.1.min.js",
  37. "/public/js/jquery/jquery.validate.js",
  38. "/public/js/messages_zh.js",
  39. "/public/js/popper/popper.min.js",
  40. "/public/js/bootstrap/bootstrap.min.js",
  41. "/public/js/global.js",
  42. "/public/js/vue/vue.js",
  43. "/public/js/component/input.js",
  44. "/public/js/cookies.js",
  45. "/public/js/jquery-contextmenu/jquery.ui.position.min.js",
  46. "/public/js/jquery-contextmenu/jquery.contextMenu.min.js",
  47. "/public/js/lodash.js",
  48. "/public/js/lz-string/lz-string.js",
  49. ],
  50. controller: {
  51. tender: {
  52. list: {
  53. files: [],
  54. mergeFiles: ["/public/js/tender_list.js"],
  55. mergeFile: 'tender_list',
  56. }
  57. },
  58. ledger: {
  59. explode: {
  60. files: [
  61. "/public/js/js-xlsx/xlsx.full.min.js",
  62. "/public/js/js-xlsx/xlsx.utils.js",
  63. "/public/js/spreadjs/sheets/gc.spread.sheets.all.10.0.1.min.js",
  64. ],
  65. mergeFiles: [
  66. "/public/js/spreadjs_rela/spreadjs_zh.js",
  67. "/public/js/path_tree.js",
  68. "/public/js/ledger.js",
  69. ],
  70. mergeFile: 'explode',
  71. },
  72. audit: {
  73. files: [
  74. "/public/js/spreadjs/sheets/gc.spread.sheets.all.10.0.1.min.js",
  75. ],
  76. mergeFiles: [
  77. "/public/js/spreadjs_rela/spreadjs_zh.js",
  78. "/public/js/path_tree.js",
  79. "/public/js/ledger_audit.js",
  80. ],
  81. mergeFile: 'ledger_audit',
  82. }
  83. },
  84. stage: {
  85. // 本期计量台账
  86. index: {
  87. files: [
  88. "/public/js/spreadjs/sheets/gc.spread.sheets.all.10.0.1.min.js",
  89. ],
  90. mergeFiles: [
  91. "/public/js/spreadjs_rela/spreadjs_zh.js",
  92. "/public/js/path_tree.js",
  93. "/public/js/stage.js",
  94. ],
  95. mergeFile: 'stage',
  96. },
  97. detail: {
  98. files: [
  99. "/public/js/spreadjs/sheets/gc.spread.sheets.all.10.0.1.min.js",
  100. "/public/js/html2canvas/html2canvas.min.js",
  101. "/public/js/html2canvas/canvas2image.js",
  102. ],
  103. mergeFiles: [
  104. "/public/js/spreadjs_rela/spreadjs_zh.js",
  105. "/public/js/path_tree.js",
  106. "/public/js/stage_im.js",
  107. "/public/js/stage_detail.js",
  108. ],
  109. mergeFile: 'stage_detail',
  110. }
  111. }
  112. }
  113. };
  114. module.exports = JsFiles;