提交 53d896ef 编写于 作者: fxy060608's avatar fxy060608

feat(app): sourcemap

上级 1ab6b776
......@@ -12122,6 +12122,7 @@ var serviceContext = (function (vue) {
share: share,
shareWithSystem: shareWithSystem,
requestPayment: requestPayment,
requireNativePlugin: requireNativePlugin,
__vuePlugin: index$1,
restoreGlobal: restoreGlobal,
createRewardedVideoAd: createRewardedVideoAd,
......
......@@ -6,7 +6,7 @@ import {
CreateInteractiveAdProtocol,
} from '@dcloudio/uni-api'
import { requireNativePlugin } from '../base'
import { requireNativePlugin } from '../plugin/requireNativePlugin'
import { AdEventHandler, EventType } from './adBase'
......
declare const weex: any
declare const __requireNativePlugin__: any
export function requireNativePlugin(pluginName: string) {
/* eslint-disable no-undef */
if (typeof weex !== 'undefined') {
return weex.requireModule(pluginName)
}
/* eslint-disable no-undef */
return __requireNativePlugin__(pluginName)
}
......@@ -5,7 +5,7 @@ import {
API_TYPE_SET_CLIPBOARD_DATA,
defineAsyncApi,
} from '@dcloudio/uni-api'
import { requireNativePlugin } from '../base'
import { requireNativePlugin } from '../plugin/requireNativePlugin'
export const getClipboardData = defineAsyncApi<API_TYPE_GET_CLIPBOARD_DATA>(
API_GET_CLIPBOARD_DATA,
......
import { extend } from '@vue/shared'
import { requireNativePlugin } from '../../api/base/requireNativePlugin'
import {
useI18n,
initI18nStartSoterAuthenticationMsgsOnce,
......@@ -19,6 +18,8 @@ import {
StartSoterAuthenticationProtocols,
} from '@dcloudio/uni-api'
import { requireNativePlugin } from '../plugin/requireNativePlugin'
function checkIsSupportFaceID() {
const platform = plus.os.name!.toLowerCase()
if (platform !== 'ios') {
......
......@@ -6,8 +6,8 @@ import {
RequestOptions,
RequestProtocol,
} from '@dcloudio/uni-api'
import { requireNativePlugin } from '../base'
import { base64ToArrayBuffer } from '@dcloudio/uni-api'
import { requireNativePlugin } from '../plugin/requireNativePlugin'
type Type = 'base64' | 'text'
type Headers = Record<string, string>
......
......@@ -13,7 +13,7 @@ import {
API_TYPE_CLOSE_SOCKET,
CloseSocketProtocol,
} from '@dcloudio/uni-api'
import { requireNativePlugin } from '../base'
import { requireNativePlugin } from '../plugin/requireNativePlugin'
import { base64ToArrayBuffer, arrayBufferToBase64 } from '@dcloudio/uni-api'
import { extend, capitalize } from '@vue/shared'
import { callOptions } from '@dcloudio/uni-shared'
......
export function requireNativePlugin(name: string) {
return weex.requireModule(name)
declare const weex: any
declare const __requireNativePlugin__: any
export function requireNativePlugin(pluginName: string) {
/* eslint-disable no-undef */
if (typeof weex !== 'undefined') {
return weex.requireModule(pluginName)
}
/* eslint-disable no-undef */
return __requireNativePlugin__(pluginName)
}
import { APP_SERVICE_ID } from '../.../../../../constants'
import { requireNativePlugin } from '../base/requireNativePlugin'
import { requireNativePlugin } from '../plugin/requireNativePlugin'
import { PlusWebviewWebviewObjectWithExtras } from '../../framework/webview/init/subNVues'
const EVENT_TYPE_NAME = 'UniAppSubNVue'
......
......@@ -9,9 +9,11 @@ import {
} from '@dcloudio/uni-cli-shared'
export function buildOptions(): UserConfig['build'] {
const inputDir = process.env.UNI_INPUT_DIR
const outputDir = process.env.UNI_OUTPUT_DIR
// 开始编译时,清空输出目录
if (fs.existsSync(process.env.UNI_OUTPUT_DIR)) {
emptyDir(process.env.UNI_OUTPUT_DIR)
if (fs.existsSync(outputDir)) {
emptyDir(outputDir)
}
return {
// sourcemap: 'inline',
......@@ -24,6 +26,18 @@ export function buildOptions(): UserConfig['build'] {
name: 'AppService',
format: process.env.UNI_APP_CODE_SPLITING ? 'amd' : 'iife',
entryFileNames: 'app-service.js',
sourcemapPathTransform(relativeSourcePath, sourcemapPath) {
const sourcePath = normalizePath(
path.relative(
inputDir,
path.resolve(path.dirname(sourcemapPath), relativeSourcePath)
)
)
if (sourcePath.startsWith('..')) {
return ''
}
return 'uni-app:///' + sourcePath
},
manualChunks: {},
chunkFileNames(chunk) {
if (chunk.isDynamicEntry && chunk.facadeModuleId) {
......
import path from 'path'
import BuiltinModule from 'module'
import { once } from '@dcloudio/uni-shared'
export const isInHBuilderX = once(() => {
......@@ -17,3 +18,28 @@ export const isInHBuilderX = once(() => {
export const runByHBuilderX = once(() => {
return !!process.env.UNI_HBUILDERX_PLUGINS
})
/**
* 增加 node_modules
*/
export function initModulePaths() {
if (!isInHBuilderX()) {
return
}
const Module =
module.constructor.length > 1 ? module.constructor : BuiltinModule
const nodeModulesPath = path.resolve(
process.env.UNI_CLI_CONTEXT,
'node_modules'
)
const oldNodeModulePaths = (Module as any)._nodeModulePaths
;(Module as any)._nodeModulePaths = function (from: string) {
const paths = oldNodeModulePaths.call(this, from) as string[]
if (!paths.includes(nodeModulesPath)) {
paths.push(nodeModulesPath)
}
return paths
}
}
......@@ -43,7 +43,7 @@ export function uniCssScopedPlugin(
debugScoped(id)
return {
code: addScoped(code),
map: this.getCombinedSourcemap(),
map: null,
}
}
},
......
......@@ -2,7 +2,7 @@ import fs from 'fs'
import path from 'path'
import { BuildOptions, InlineConfig } from 'vite'
import { M, isInHBuilderX } from '@dcloudio/uni-cli-shared'
import { M, isInHBuilderX, initModulePaths } from '@dcloudio/uni-cli-shared'
import { CliOptions } from '.'
import { initNVueEnv } from './nvue'
......@@ -107,6 +107,9 @@ export function initEnv(type: 'dev' | 'build', options: CliOptions) {
: '')
)
}
initModulePaths()
console.log(M['compiling'])
}
......
......@@ -120,7 +120,7 @@ export function uniEasycomPlugin(
}
return {
code,
map: this.getCombinedSourcemap(),
map: null,
}
},
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册