| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.uniMainJsPlugin = void 0;
- const uni_cli_shared_1 = require("@dcloudio/uni-cli-shared");
- const utils_1 = require("../utils");
- function uniMainJsPlugin() {
- return (0, uni_cli_shared_1.defineUniMainJsPlugin)((opts) => {
- let runSSR = false;
- return {
- name: 'uni:h5-main-js',
- enforce: 'pre',
- configResolved(config) {
- runSSR =
- (0, uni_cli_shared_1.isSsr)(config.command, config) || (0, utils_1.isSsrManifest)(config.command, config);
- },
- transform(code, id, options) {
- if (opts.filter(id)) {
- if (!runSSR) {
- code = code.includes('createSSRApp')
- ? createApp(code)
- : createLegacyApp(code);
- }
- else {
- code = (0, utils_1.isSSR)(options)
- ? createSSRServerApp(code)
- : createSSRClientApp(code);
- }
- code = `import './${uni_cli_shared_1.PAGES_JSON_JS}';${code}`;
- return {
- code,
- map: this.getCombinedSourcemap(),
- };
- }
- },
- };
- });
- }
- exports.uniMainJsPlugin = uniMainJsPlugin;
- function createApp(code) {
- return `import { plugin as __plugin } from '@dcloudio/uni-h5';${code.replace('createSSRApp', 'createVueApp as createSSRApp')};createApp().app.use(__plugin).mount("#app");`;
- }
- function createLegacyApp(code) {
- return `import { plugin as __plugin } from '@dcloudio/uni-h5';function createApp(rootComponent,rootProps){return createVueApp(rootComponent, rootProps).use(__plugin)};${code.replace('createApp', 'createVueApp')}`;
- }
- function createSSRClientApp(code) {
- return `import { plugin as __plugin } from '@dcloudio/uni-h5';import { UNI_SSR, UNI_SSR_STORE } from '@dcloudio/uni-shared';${code};const { app: __app, store: __store } = createApp();__app.use(__plugin);__store && window[UNI_SSR] && window[UNI_SSR][UNI_SSR_STORE] && __store.replaceState(window[UNI_SSR][UNI_SSR_STORE]);__app.router.isReady().then(() => __app.mount("#app"));`;
- }
- function createSSRServerApp(code) {
- return code;
- }
|