ssr.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.initSSR = exports.external = void 0;
  4. exports.external = [
  5. '@dcloudio/uni-app',
  6. '@dcloudio/uni-app-plus',
  7. '@dcloudio/uni-cloud',
  8. '@dcloudio/uni-components',
  9. '@dcloudio/uni-h5',
  10. '@dcloudio/uni-h5-vue',
  11. '@dcloudio/uni-i18n',
  12. '@dcloudio/uni-mp-alipay',
  13. '@dcloudio/uni-mp-baidu',
  14. '@dcloudio/uni-mp-kuaishou',
  15. '@dcloudio/uni-mp-lark',
  16. '@dcloudio/uni-mp-qq',
  17. '@dcloudio/uni-mp-toutiao',
  18. '@dcloudio/uni-mp-weixin',
  19. '@dcloudio/uni-quickapp-webview',
  20. '@dcloudio/uni-shared',
  21. '@dcloudio/uni-stat',
  22. '@dcloudio/uni-stacktracey',
  23. '@vue/shared',
  24. 'vue',
  25. 'vue-i18n',
  26. 'vue-router',
  27. 'vuex',
  28. // dev
  29. '@dcloudio/types',
  30. '@dcloudio/uni-automator',
  31. '@dcloudio/uni-cli-shared',
  32. '@dcloudio/vite-plugin-uni',
  33. 'autoprefixer',
  34. 'typescript',
  35. 'vite',
  36. ];
  37. function initSSR(server) {
  38. const { ssrLoadModule } = server;
  39. let added = false;
  40. server.ssrLoadModule = (url) => {
  41. const res = ssrLoadModule(url);
  42. if (!added) {
  43. // HBuilderX项目,根目录可能没有package.json,导致 ssrExternals 不生效
  44. added = true;
  45. if (server._ssrExternals) {
  46. const { _ssrExternals } = server;
  47. exports.external.forEach((module) => {
  48. if (!_ssrExternals.includes(module)) {
  49. _ssrExternals.push(module);
  50. }
  51. });
  52. }
  53. }
  54. return res;
  55. };
  56. }
  57. exports.initSSR = initSSR;