UNPKG

minidev

Version:

支付宝小程序开发 cli(minidev)提供了常用的支付宝系小程序开发指令,能够方便地在各类平台上快速进行小程序的开发、预览、上传等操作。

92 lines (91 loc) 3.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.composeAssetsByCompileMode = void 0; const interface_1 = require("./interface"); const config_1 = require("./config"); function concatSource(...argv) { return argv.join('\n'); } function composeAssetsByCompileMode(assetsMap, options) { let composeMethod; switch (options.mode) { case interface_1.ECompileModeType.Preview: composeMethod = composeAssets4Preview; break; case interface_1.ECompileModeType.Remote: composeMethod = composeAssets4Remote; break; case interface_1.ECompileModeType.Remotex: composeMethod = composeAssets4Remotex; break; case interface_1.ECompileModeType.RemotexLite: composeMethod = composeAssets4RemotexLite; break; case interface_1.ECompileModeType.RemoteBoatman: composeMethod = composeAssets4RemoteBoatman; break; default: throw new Error(`[${config_1.libName}] unknown compile mode: ${options.mode}`); } return composeMethod(assetsMap, options); } exports.composeAssetsByCompileMode = composeAssetsByCompileMode; function composeAssets4Preview(assetsMap, options) { if (options.target === interface_1.ECompileTargetType.Cube) { return {}; } else { return { workerTop: assetsMap.bugmeWPreview, webTop: `window.__BUGME_ENV__='preview';${assetsMap.bugmeRPreview}`, htmlTop: `<script>window.__BUGME_ENV__='preview';${assetsMap.bugmeRPreview}</script>`, }; } } function toHtmlTop(text) { return `<script snapshot-delete="">${text !== null && text !== void 0 ? text : ''}</script>`; } function composeAssets4Remote(assetsMap, _options) { return { webTop: assetsMap.bugmeRRemote, htmlTop: toHtmlTop(assetsMap.bugmeRRemote), }; } function composeAssets4Remotex(assetsMap, options) { return options.compilePlugin ? { workerTop: assetsMap.bugmeWRemote, pluginWorkerTop: assetsMap.tyroAgent, webTop: assetsMap.bugmeRRemote, htmlTop: toHtmlTop(assetsMap.bugmeRRemote), } : { workerTop: concatSource(assetsMap.tyroAgent || '', assetsMap.bugmeWRemote || ''), webTop: assetsMap.bugmeRRemote, htmlTop: toHtmlTop(assetsMap.bugmeRRemote), }; } function composeAssets4RemotexLite(assetsMap, _options) { return { workerTop: concatSource('var __BUGME_CONSOLE_ENABLE__=true;', assetsMap.bugmeWRemote || ''), webTop: assetsMap.bugmeRRemote, htmlTop: toHtmlTop(assetsMap.bugmeRRemote), }; } function composeAssets4RemoteBoatman(assetsMap, options) { if (options.target === interface_1.ECompileTargetType.Cube) { return {}; } else { // Boatman 模式下 tinybugme 会跟随 boatman_mini 一起注入到 worker 中 const points = { webTop: assetsMap.bugmeRRemote, htmlTop: toHtmlTop(assetsMap.bugmeRRemote), }; // 插件模式下 boatman_mini 注入到插件上下文中,tinybugme 不会生效,因此需要额外注入到宿主 worker 中 if (options.compilePlugin) { points.workerTop = assetsMap.bugmeWRemote; } return points; } }