diff --git a/packages/uni-cli-shared/src/utils.ts b/packages/uni-cli-shared/src/utils.ts index aa35534f9faccd29fd89901c0c6d7dfe4e7314e1..04fea725ade67db523b8b775ad93380a7a6657ae 100644 --- a/packages/uni-cli-shared/src/utils.ts +++ b/packages/uni-cli-shared/src/utils.ts @@ -107,3 +107,7 @@ export function pathToGlob( ) return path.posix.join(safeStr, glob) } + +export function resolveSourceMapPath(dir: string, platform: UniApp.PLATFORM) { + return path.resolve(dir, '../.sourcemap/' + platform) +} diff --git a/packages/uni-uts-vite/src/plugins/v1.ts b/packages/uni-uts-vite/src/plugins/v1.ts index 695f11e5f35c07dba1d4fd55ee792e99378a0e8f..c5392abda893bf4c87eadf8b37affb921945d215 100644 --- a/packages/uni-uts-vite/src/plugins/v1.ts +++ b/packages/uni-uts-vite/src/plugins/v1.ts @@ -24,8 +24,6 @@ import { import { compile, parsePackage } from '../utils/compiler' export function uniUtsV1Plugin(): Plugin { - // 目前仅支持 app-android - process.env.UNI_APP_PLATFORM = 'app-android' let isFirst = true return { name: 'uni:uts-v1', diff --git a/packages/uni-uts-vite/src/utils/compiler.ts b/packages/uni-uts-vite/src/utils/compiler.ts index 175a13ae7cdb15a0a1cb3fdd9a0210c9c1ed6e9d..e844ba056a4877c5368cac5886ab0204bf946918 100644 --- a/packages/uni-uts-vite/src/utils/compiler.ts +++ b/packages/uni-uts-vite/src/utils/compiler.ts @@ -8,6 +8,7 @@ import { installHBuilderXPlugin, isInHBuilderX, normalizePath, + resolveSourceMapPath, } from '@dcloudio/uni-cli-shared' import { camelize } from '@vue/shared' @@ -36,7 +37,10 @@ export async function compile(filename: string) { output: { outDir: outputDir, package: parsePackage(filename), - sourceMap: process.env.NODE_ENV === 'development', + sourceMap: resolveSourceMapPath( + process.env.UNI_OUTPUT_DIR, + process.env.UNI_PLATFORM + ), extname: 'kt', imports: [ 'kotlinx.coroutines.async', diff --git a/packages/vite-plugin-uni/src/cli/utils.ts b/packages/vite-plugin-uni/src/cli/utils.ts index 0c3d50ce7b623c19e43dca7437aa879a3d90a52e..89c816d193fd14908a49f3ddf7fb07dc72b1946e 100644 --- a/packages/vite-plugin-uni/src/cli/utils.ts +++ b/packages/vite-plugin-uni/src/cli/utils.ts @@ -86,9 +86,18 @@ export function initEnv( ? path.resolve(process.env.UNI_HBUILDERX_PLUGINS!, 'uniapp-cli-vite') : process.cwd() + // TODO 待优化 + if (options.platform === 'app-android' || options.platform === 'app-ios') { + process.env.UNI_APP_PLATFORM = options.platform + options.platform = 'app' + } if (options.platform === 'app-plus') { options.platform = 'app' } + if (options.platform === 'app' && !process.env.UNI_APP_PLATFORM) { + // 目前仅支持 app-android,先强制使用 app-android + process.env.UNI_APP_PLATFORM = 'app-android' + } if ( options.platform === 'quickapp-webview-huawei' || options.platform === 'quickapp-webview-union' diff --git a/packages/vite-plugin-uni/src/index.ts b/packages/vite-plugin-uni/src/index.ts index 89eb351f73777d2b1b7c5f3f97be9ec13f16f520..0ddb909bfa01332c6b85d89dec2eff96e3e4fd02 100644 --- a/packages/vite-plugin-uni/src/index.ts +++ b/packages/vite-plugin-uni/src/index.ts @@ -11,6 +11,7 @@ import { CopyOptions, initModuleAlias, initPreContext, + resolveSourceMapPath, } from '@dcloudio/uni-cli-shared' import { createConfig } from './config' @@ -169,9 +170,9 @@ export default function uniPlugin( enforce: 'post', cwd: process.env.UNI_OUTPUT_DIR, pattern: '**/*.js.map', - dest: path.resolve( + dest: resolveSourceMapPath( process.env.UNI_OUTPUT_DIR, - '../.sourcemap/' + process.env.UNI_PLATFORM + process.env.UNI_PLATFORM ), }) )