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

refactor: easycom

上级 82fed3fb
import path from 'path'
import { terser } from 'rollup-plugin-terser'
import uniH5VitePlugins from '@dcloudio/uni-h5-vite'
import uni from '@dcloudio/vite-plugin-uni'
import { UserConfig } from 'vite'
......@@ -16,9 +17,9 @@ export default {
entry: path.resolve(__dirname, 'src/main.ts'),
formats: ['es'],
},
// minify: false,
rollupOptions: {
// external: ['vue', '@vue/shared'],
external: ['vue', '@vue/shared'],
plugins: [terser()],
output: {
inlineDynamicImports: true,
},
......
......@@ -5,6 +5,7 @@ import {
isFunction,
isPlainObject,
} from '@vue/shared'
import { LINEFEED } from '@dcloudio/uni-shared'
import { validateProtocols } from '../protocol'
import {
invokeCallback,
......@@ -135,7 +136,7 @@ function normalizeErrMsg(errMsg: string | Error) {
return errMsg
}
if (errMsg.stack) {
console.error(errMsg.message + '\n' + errMsg.stack)
console.error(errMsg.message + LINEFEED + errMsg.stack)
return errMsg.message
}
return errMsg as unknown as string
......
import '@dcloudio/uni-components/style/text.css'
import { LINEFEED, UniNodeJSON } from '@dcloudio/uni-shared'
import { DecodeOptions, parseText } from '@dcloudio/uni-components'
import { UniAnimationElement } from './UniAnimationElement'
import { UniNodeJSON } from '@dcloudio/uni-shared'
interface TextProps {
space: DecodeOptions['space']
......@@ -44,7 +44,7 @@ export class UniTextElement extends UniAnimationElement<TextProps> {
$props: { space, decode },
} = this
this.$.textContent = parseText(this._text, { space, decode }).join('\n')
this.$.textContent = parseText(this._text, { space, decode }).join(LINEFEED)
super.update(isMounted)
}
......
......@@ -48,7 +48,7 @@ export function patchEvent(el: UniCustomElement, name: string, flag: number) {
if (!isEventListenerExists(el, type)) {
el.addEventListener(
type,
(el.__listeners[type] = createInvoker(el.__id, flag, options)),
(el.__listeners[type] = createInvoker(el.__id!, flag, options)),
options
)
}
......
......@@ -119,6 +119,7 @@ export default defineConfig({
vueJsx({ optimize: true, isCustomElement }),
],
build: {
target: 'es2015',
minify: true,
lib: {
name: 'uni-app-view',
......
......@@ -6,6 +6,7 @@ import {
getAppStyleIsolation,
parseManifestJsonOnce,
uniConsolePlugin,
UNI_EASYCOM_EXCLUDE,
} from '@dcloudio/uni-cli-shared'
import { UniAppPlugin } from './plugin'
import { uniTemplatePlugin } from './plugins/template'
......@@ -15,6 +16,7 @@ import { uniPagesJsonPlugin } from './plugins/pagesJson'
// import { uniResolveIdPlugin } from './plugins/resolveId'
import { uniRenderjsPlugin } from './plugins/renderjs'
import { uniStatsPlugin } from './plugins/stats'
import { uniEasycomPlugin } from './plugins/easycom'
function initUniCssScopedPluginOptions() {
const styleIsolation = getAppStyleIsolation(
......@@ -32,6 +34,7 @@ function initUniCssScopedPluginOptions() {
}
const plugins = [
uniEasycomPlugin({ exclude: UNI_EASYCOM_EXCLUDE }),
// uniResolveIdPlugin(),
uniConsolePlugin({
filename(filename) {
......
import path from 'path'
import { Plugin } from 'vite'
import { createFilter, FilterPattern } from '@rollup/pluginutils'
import {
EXTNAME_VUE,
parseVueRequest,
matchEasycom,
addImportDeclaration,
genResolveEasycomCode,
} from '@dcloudio/uni-cli-shared'
interface UniEasycomPluginOptions {
include?: FilterPattern
exclude?: FilterPattern
}
export function uniEasycomPlugin(options: UniEasycomPluginOptions): Plugin {
const filter = createFilter(options.include, options.exclude)
return {
name: 'vite:uni-app-easycom',
transform(code, id) {
if (!filter(id)) {
return
}
const { filename, query } = parseVueRequest(id)
if (
query.type !== 'template' &&
(query.vue || !EXTNAME_VUE.includes(path.extname(filename)))
) {
return
}
let i = 0
const importDeclarations: string[] = []
code = code.replace(
/_resolveComponent\("(.+?)"(, true)?\)/g,
(str, name) => {
if (name && !name.startsWith('_')) {
const source = matchEasycom(name)
if (source) {
// 处理easycom组件优先级
return genResolveEasycomCode(
importDeclarations,
str,
addImportDeclaration(
importDeclarations,
`__easycom_${i++}`,
source
)
)
}
}
return str
}
)
if (importDeclarations.length) {
code = importDeclarations.join('') + code
}
return {
code,
map: null,
}
},
}
}
......@@ -28,7 +28,7 @@ function createApp(code: string) {
}
function createLegacyApp(code: string) {
return `function createApp(rootComponent,rootProps){rootComponent.mpTye='app';const app=createVueApp(rootComponent,rootProps).use(uni.__vuePlugin);app.render=()=>{};const oldMount=app.mount;app.mount=(container)=>{const appVm=oldMount.call(app,container);return appVm;};return app;};${code.replace(
return `function createApp(rootComponent,rootProps){rootComponent.mpTye='app';rootComponent.render=()=>{};const app=createVueApp(rootComponent,rootProps).use(uni.__vuePlugin);const oldMount=app.mount;app.mount=(container)=>{const appVm=oldMount.call(app,container);return appVm;};return app;};${code.replace(
'createApp',
'createVueApp'
)}`
......
......@@ -229,3 +229,42 @@ function initAutoScanEasycoms(
function normalizeCompath(compath: string, rootDir: string) {
return normalizePath(path.relative(rootDir, compath))
}
export function addImportDeclaration(
importDeclarations: string[],
local: string,
source: string,
imported?: string
) {
importDeclarations.push(createImportDeclaration(local, source, imported))
return local
}
function createImportDeclaration(
local: string,
source: string,
imported?: string
) {
if (imported) {
return `import {${imported} as ${local}} from '${source}';`
}
return `import ${local} from '${source}';`
}
const RESOLVE_EASYCOM_IMPORT_CODE = `import { resolveDynamicComponent as __resolveDynamicComponent } from 'vue';import { resolveEasycom } from '@dcloudio/uni-app';`
export function genResolveEasycomCode(
importDeclarations: string[],
code: string,
name: string
) {
if (!importDeclarations.includes(RESOLVE_EASYCOM_IMPORT_CODE)) {
importDeclarations.push(RESOLVE_EASYCOM_IMPORT_CODE)
}
return `resolveEasycom(${code.replace(
'_resolveComponent',
'__resolveDynamicComponent'
)}, ${name})`
}
export const UNI_EASYCOM_EXCLUDE = [/App.vue$/, /@dcloudio\/uni-h5/]
......@@ -6,6 +6,7 @@ import QuillClass, {
RangeStatic,
StringMap,
} from 'quill'
import { LINEFEED } from '@dcloudio/uni-shared'
import { useContextInfo, useSubscribe } from '@dcloudio/uni-components'
import { getRealPath } from '@dcloudio/uni-platform'
import { CustomEventTrigger } from '../../../helpers/useEvent'
......@@ -304,7 +305,7 @@ export function useQuill(
break
case 'insertDivider':
range = quill.getSelection(true)
quill.insertText(range.index, '\n', 'user')
quill.insertText(range.index, LINEFEED, 'user')
quill.insertEmbed(range.index + 1, 'divider', true, 'user')
quill.setSelection(range.index + 2, 0, 'silent')
break
......
......@@ -109,9 +109,7 @@ function useImageState(rootRef: Ref<HTMLElement | null>, props: ImageProps) {
}
return `background-image:${
imgSrc.value ? 'url("' + imgSrc.value + '")' : 'none'
};
background-position:${position};
background-size:${size};`
};background-position:${position};background-size:${size};`
})
const state = reactive({
rootEl: rootRef,
......
import { Ref, ref, computed, watch, onMounted } from 'vue'
import { extend } from '@vue/shared'
import { LINEFEED } from '@dcloudio/uni-shared'
import { defineBuiltInComponent } from '../../helpers/component'
import {
props as fieldProps,
......@@ -43,7 +44,7 @@ export default /*#__PURE__*/ defineBuiltInComponent({
const rootRef: Ref<HTMLElement | null> = ref(null)
const { fieldRef, state, scopedAttrsState, fixDisabledColor, trigger } =
useField(props, rootRef, emit)
const valueCompute = computed(() => state.value.split('\n'))
const valueCompute = computed(() => state.value.split(LINEFEED))
const isDone = computed(() =>
['done', 'go', 'next', 'search', 'send'].includes(props.confirmType)
)
......
import { LINEFEED } from '@dcloudio/uni-shared'
const SPACE_UNICODE = {
ensp: '\u2002',
emsp: '\u2003',
......@@ -11,8 +13,8 @@ export interface DecodeOptions {
export function parseText(text: string, options: DecodeOptions) {
return text
.replace(/\\n/g, '\n')
.split('\n')
.replace(/\\n/g, LINEFEED)
.split(LINEFEED)
.map((text) => {
return normalizeText(text, options)
})
......
import { uniCssScopedPlugin } from '@dcloudio/uni-cli-shared'
import {
uniCssScopedPlugin,
UNI_EASYCOM_EXCLUDE,
} from '@dcloudio/uni-cli-shared'
import { UniH5Plugin } from './plugin'
import { uniCssPlugin } from './plugins/css'
import { uniEasycomPlugin } from './plugins/easycom'
import { uniInjectPlugin } from './plugins/inject'
import { uniMainJsPlugin } from './plugins/mainJs'
import { uniManifestJsonPlugin } from './plugins/manifestJson'
......@@ -11,6 +15,7 @@ import { uniSetupPlugin } from './plugins/setup'
import { uniSSRPlugin } from './plugins/ssr'
export default [
uniEasycomPlugin({ exclude: UNI_EASYCOM_EXCLUDE }),
uniCssScopedPlugin(),
uniResolveIdPlugin(),
uniMainJsPlugin(),
......
import path from 'path'
import { Plugin, ResolvedConfig } from 'vite'
import { createFilter } from '@rollup/pluginutils'
import { Plugin } from 'vite'
import { createFilter, FilterPattern } from '@rollup/pluginutils'
import { camelize, capitalize } from '@vue/shared'
import { isBuiltInComponent } from '@dcloudio/uni-shared'
......@@ -13,10 +13,10 @@ import {
buildInCssSet,
isCombineBuiltInCss,
matchEasycom,
addImportDeclaration,
genResolveEasycomCode,
} from '@dcloudio/uni-cli-shared'
import { UniPluginFilterOptions } from '.'
const H5_COMPONENTS_PATH = '@dcloudio/uni-h5'
const baseComponents = [
......@@ -51,16 +51,19 @@ const baseComponents = [
'view',
]
// const identifierRE = /^([a-zA-Z_$][a-zA-Z\\d_$]*)$/
interface UniEasycomPluginOptions {
include?: FilterPattern
exclude?: FilterPattern
}
export function uniEasycomPlugin(
options: UniPluginFilterOptions,
config: ResolvedConfig
): Plugin {
export function uniEasycomPlugin(options: UniEasycomPluginOptions): Plugin {
const filter = createFilter(options.include, options.exclude)
const needCombineBuiltInCss = isCombineBuiltInCss(config)
let needCombineBuiltInCss = false
return {
name: 'vite:uni-easycom',
name: 'vite:uni-h5-easycom',
configResolved(config) {
needCombineBuiltInCss = isCombineBuiltInCss(config)
},
transform(code, id) {
if (!filter(id)) {
return
......@@ -126,22 +129,6 @@ export function uniEasycomPlugin(
}
}
const RESOLVE_EASYCOM_IMPORT_CODE = `import { resolveDynamicComponent as __resolveDynamicComponent } from 'vue';import { resolveEasycom } from '@dcloudio/uni-app';`
function genResolveEasycomCode(
importDeclarations: string[],
code: string,
name: string
) {
if (!importDeclarations.includes(RESOLVE_EASYCOM_IMPORT_CODE)) {
importDeclarations.push(RESOLVE_EASYCOM_IMPORT_CODE)
}
return `resolveEasycom(${code.replace(
'_resolveComponent',
'__resolveDynamicComponent'
)}, ${name})`
}
function resolveBuiltInCssImport(name: string) {
const cssImports: string[] = []
if (baseComponents.includes(name)) {
......@@ -169,24 +156,3 @@ function addBuiltInImportDeclaration(
capitalize(camelize(name))
)
}
function addImportDeclaration(
importDeclarations: string[],
local: string,
source: string,
imported?: string
) {
importDeclarations.push(createImportDeclaration(local, source, imported))
return local
}
function createImportDeclaration(
local: string,
source: string,
imported?: string
) {
if (imported) {
return `import {${imported} as ${local}} from '${source}';`
}
return `import ${local} from '${source}';`
}
......@@ -1308,7 +1308,7 @@ function normalizeErrMsg(errMsg) {
return errMsg;
}
if (errMsg.stack) {
console.error(errMsg.message + "\n" + errMsg.stack);
console.error(errMsg.message + uniShared.LINEFEED + errMsg.stack);
return errMsg.message;
}
return errMsg;
......@@ -2652,9 +2652,7 @@ function useImageState(rootRef, props2) {
opts[0] && (position = opts[0]);
opts[1] && (size = opts[1]);
}
return `background-image:${imgSrc.value ? 'url("' + imgSrc.value + '")' : "none"};
background-position:${position};
background-size:${size};`;
return `background-image:${imgSrc.value ? 'url("' + imgSrc.value + '")' : "none"};background-position:${position};background-size:${size};`;
});
const state = vue.reactive({
rootEl: rootRef,
......@@ -6259,7 +6257,7 @@ const SPACE_UNICODE = {
nbsp: "\xA0"
};
function parseText(text, options) {
return text.replace(/\\n/g, "\n").split("\n").map((text2) => {
return text.replace(/\\n/g, uniShared.LINEFEED).split(uniShared.LINEFEED).map((text2) => {
return normalizeText(text2, options);
});
}
......@@ -6358,7 +6356,7 @@ var index$i = /* @__PURE__ */ defineBuiltInComponent({
fixDisabledColor,
trigger
} = useField(props2, rootRef, emit2);
const valueCompute = vue.computed(() => state.value.split("\n"));
const valueCompute = vue.computed(() => state.value.split(uniShared.LINEFEED));
const isDone = vue.computed(() => ["done", "go", "next", "search", "send"].includes(props2.confirmType));
const heightRef = vue.ref(0);
const lineRef = vue.ref(null);
......@@ -9540,7 +9538,7 @@ class RequestTask {
}
function parseHeaders(headers) {
const headersObject = {};
headers.split("\n").forEach((header) => {
headers.split(uniShared.LINEFEED).forEach((header) => {
const find = header.match(/(\S+\s*):\s*(.*)/);
if (!find || find.length !== 3) {
return;
......
import { withModifiers, createVNode, getCurrentInstance, ref, defineComponent, openBlock, createElementBlock, provide, computed, watch, onUnmounted, inject, onBeforeUnmount, mergeProps, injectHook, reactive, onActivated, onMounted, nextTick, onBeforeMount, withDirectives, vShow, shallowRef, watchEffect, isVNode, Fragment, markRaw, createTextVNode, onBeforeActivate, onBeforeDeactivate, createBlock, renderList, onDeactivated, createApp, Transition, effectScope, withCtx, KeepAlive, resolveDynamicComponent, createElementVNode, normalizeStyle, renderSlot } from "vue";
import { isString, extend, stringifyStyle, parseStringStyle, isPlainObject, isFunction, capitalize, camelize, isArray, hasOwn, isObject, toRawType, makeMap as makeMap$1, isPromise, hyphenate, invokeArrayFns as invokeArrayFns$1 } from "@vue/shared";
import { I18N_JSON_DELIMITERS, once, passive, initCustomDataset, invokeArrayFns, resolveOwnerVm, resolveOwnerEl, ON_WXS_INVOKE_CALL_METHOD, normalizeTarget, ON_RESIZE, ON_APP_ENTER_FOREGROUND, ON_APP_ENTER_BACKGROUND, ON_SHOW, ON_HIDE, ON_PAGE_SCROLL, ON_REACH_BOTTOM, EventChannel, SCHEME_RE, DATA_RE, getCustomDataset, ON_ERROR, callOptions, ON_LAUNCH, PRIMARY_COLOR, removeLeadingSlash, getLen, debounce, UniLifecycleHooks, NAVBAR_HEIGHT, parseQuery, ON_UNLOAD, ON_REACH_BOTTOM_DISTANCE, decodedQuery, WEB_INVOKE_APPSERVICE, ON_WEB_INVOKE_APP_SERVICE, updateElementStyle, ON_BACK_PRESS, parseUrl, addFont, scrollTo, RESPONSIVE_MIN_WIDTH, formatDateTime, ON_PULL_DOWN_REFRESH } from "@dcloudio/uni-shared";
import { I18N_JSON_DELIMITERS, once, passive, initCustomDataset, invokeArrayFns, resolveOwnerVm, resolveOwnerEl, ON_WXS_INVOKE_CALL_METHOD, normalizeTarget, ON_RESIZE, ON_APP_ENTER_FOREGROUND, ON_APP_ENTER_BACKGROUND, ON_SHOW, ON_HIDE, ON_PAGE_SCROLL, ON_REACH_BOTTOM, EventChannel, SCHEME_RE, DATA_RE, getCustomDataset, LINEFEED, ON_ERROR, callOptions, ON_LAUNCH, PRIMARY_COLOR, removeLeadingSlash, getLen, debounce, UniLifecycleHooks, NAVBAR_HEIGHT, parseQuery, ON_UNLOAD, ON_REACH_BOTTOM_DISTANCE, decodedQuery, WEB_INVOKE_APPSERVICE, ON_WEB_INVOKE_APP_SERVICE, updateElementStyle, ON_BACK_PRESS, parseUrl, addFont, scrollTo, RESPONSIVE_MIN_WIDTH, formatDateTime, ON_PULL_DOWN_REFRESH } from "@dcloudio/uni-shared";
import { initVueI18n, isI18nStr, LOCALE_EN, LOCALE_ES, LOCALE_FR, LOCALE_ZH_HANS, LOCALE_ZH_HANT } from "@dcloudio/uni-i18n";
import { useRoute, createRouter, createWebHistory, createWebHashHistory, useRouter, isNavigationFailure, RouterView } from "vue-router";
let i18n;
......@@ -2623,7 +2623,7 @@ function normalizeErrMsg(errMsg) {
return errMsg;
}
if (errMsg.stack) {
console.error(errMsg.message + "\n" + errMsg.stack);
console.error(errMsg.message + LINEFEED + errMsg.stack);
return errMsg.message;
}
return errMsg;
......@@ -7491,7 +7491,7 @@ function useQuill(props2, rootRef, trigger) {
break;
case "insertDivider":
range = quill.getSelection(true);
quill.insertText(range.index, "\n", "user");
quill.insertText(range.index, LINEFEED, "user");
quill.insertEmbed(range.index + 1, "divider", true, "user");
quill.setSelection(range.index + 2, 0, "silent");
break;
......@@ -7799,9 +7799,7 @@ function useImageState(rootRef, props2) {
opts[0] && (position = opts[0]);
opts[1] && (size = opts[1]);
}
return `background-image:${imgSrc.value ? 'url("' + imgSrc.value + '")' : "none"};
background-position:${position};
background-size:${size};`;
return `background-image:${imgSrc.value ? 'url("' + imgSrc.value + '")' : "none"};background-position:${position};background-size:${size};`;
});
const state2 = reactive({
rootEl: rootRef,
......@@ -12907,7 +12905,7 @@ const SPACE_UNICODE = {
nbsp: "\xA0"
};
function parseText(text2, options) {
return text2.replace(/\\n/g, "\n").split("\n").map((text22) => {
return text2.replace(/\\n/g, LINEFEED).split(LINEFEED).map((text22) => {
return normalizeText(text22, options);
});
}
......@@ -13010,7 +13008,7 @@ var index$i = /* @__PURE__ */ defineBuiltInComponent({
fixDisabledColor,
trigger
} = useField(props2, rootRef, emit2);
const valueCompute = computed(() => state2.value.split("\n"));
const valueCompute = computed(() => state2.value.split(LINEFEED));
const isDone = computed(() => ["done", "go", "next", "search", "send"].includes(props2.confirmType));
const heightRef = ref(0);
const lineRef = ref(null);
......@@ -16805,7 +16803,7 @@ class RequestTask {
}
function parseHeaders(headers) {
const headersObject = {};
headers.split("\n").forEach((header) => {
headers.split(LINEFEED).forEach((header) => {
const find = header.match(/(\S+\s*):\s*(.*)/);
if (!find || find.length !== 3) {
return;
......
......@@ -6,6 +6,7 @@ import {
RequestOptions,
RequestProtocol,
} from '@dcloudio/uni-api'
import { LINEFEED } from '@dcloudio/uni-shared'
export const request = defineTaskApi<API_TYPE_REQUEST>(
API_REQUEST,
......@@ -155,7 +156,7 @@ class RequestTask implements UniApp.RequestTask {
*/
function parseHeaders(headers: string) {
const headersObject: Record<string, string> = {}
headers.split('\n').forEach((header) => {
headers.split(LINEFEED).forEach((header) => {
const find = header.match(/(\S+\s*):\s*(.*)/)
if (!find || find.length !== 3) {
return
......
......@@ -945,6 +945,7 @@ function debounce(fn, delay) {
return newFn;
}
const LINEFEED = '\n';
const NAVBAR_HEIGHT = 44;
const TABBAR_HEIGHT = 50;
const ON_REACH_BOTTOM_DISTANCE = 50;
......@@ -1141,6 +1142,7 @@ exports.EventChannel = EventChannel;
exports.EventModifierFlags = EventModifierFlags;
exports.I18N_JSON_DELIMITERS = I18N_JSON_DELIMITERS;
exports.JSON_PROTOCOL = JSON_PROTOCOL;
exports.LINEFEED = LINEFEED;
exports.NAVBAR_HEIGHT = NAVBAR_HEIGHT;
exports.NODE_TYPE_COMMENT = NODE_TYPE_COMMENT;
exports.NODE_TYPE_ELEMENT = NODE_TYPE_ELEMENT;
......
......@@ -230,6 +230,8 @@ export declare interface IUniPageNode {
export declare const JSON_PROTOCOL = "json://";
export declare const LINEFEED = "\n";
export declare const NAVBAR_HEIGHT = 44;
declare type NavigateToOptionEvents = Record<string, (...args: any[]) => void>;
......
......@@ -941,6 +941,7 @@ function debounce(fn, delay) {
return newFn;
}
const LINEFEED = '\n';
const NAVBAR_HEIGHT = 44;
const TABBAR_HEIGHT = 50;
const ON_REACH_BOTTOM_DISTANCE = 50;
......@@ -1106,4 +1107,4 @@ function getEnvLocale() {
return (lang && lang.replace(/[.:].*/, '')) || 'en';
}
export { ACTION_TYPE_ADD_EVENT, ACTION_TYPE_ADD_WXS_EVENT, ACTION_TYPE_CREATE, ACTION_TYPE_EVENT, ACTION_TYPE_INSERT, ACTION_TYPE_PAGE_CREATE, ACTION_TYPE_PAGE_CREATED, ACTION_TYPE_PAGE_SCROLL, ACTION_TYPE_REMOVE, ACTION_TYPE_REMOVE_ATTRIBUTE, ACTION_TYPE_REMOVE_EVENT, ACTION_TYPE_SET_ATTRIBUTE, ACTION_TYPE_SET_TEXT, ATTR_CHANGE_PREFIX, ATTR_CLASS, ATTR_INNER_HTML, ATTR_STYLE, ATTR_TEXT_CONTENT, ATTR_V_OWNER_ID, ATTR_V_RENDERJS, ATTR_V_SHOW, BACKGROUND_COLOR, BUILT_IN_TAGS, COMPONENT_NAME_PREFIX, COMPONENT_PREFIX, COMPONENT_SELECTOR_PREFIX, DATA_RE, EventChannel, EventModifierFlags, I18N_JSON_DELIMITERS, JSON_PROTOCOL, NAVBAR_HEIGHT, NODE_TYPE_COMMENT, NODE_TYPE_ELEMENT, NODE_TYPE_PAGE, NODE_TYPE_TEXT, ON_ADD_TO_FAVORITES, ON_APP_ENTER_BACKGROUND, ON_APP_ENTER_FOREGROUND, ON_BACK_PRESS, ON_ERROR, ON_HIDE, ON_KEYBOARD_HEIGHT_CHANGE, ON_LAUNCH, ON_LOAD, ON_NAVIGATION_BAR_BUTTON_TAP, ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED, ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED, ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED, ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED, ON_PAGE_NOT_FOUND, ON_PAGE_SCROLL, ON_PULL_DOWN_REFRESH, ON_REACH_BOTTOM, ON_REACH_BOTTOM_DISTANCE, ON_READY, ON_RESIZE, ON_SHARE_APP_MESSAGE, ON_SHARE_TIMELINE, ON_SHOW, ON_TAB_ITEM_TAP, ON_THEME_CHANGE, ON_UNHANDLE_REJECTION, ON_UNLOAD, ON_WEB_INVOKE_APP_SERVICE, ON_WXS_INVOKE_CALL_METHOD, PLUS_RE, PRIMARY_COLOR, RENDERJS_MODULES, RESPONSIVE_MIN_WIDTH, SCHEME_RE, SELECTED_COLOR, TABBAR_HEIGHT, TAGS, UNI_SSR, UNI_SSR_DATA, UNI_SSR_GLOBAL_DATA, UNI_SSR_STORE, UNI_SSR_TITLE, UniBaseNode, UniCommentNode, UniElement, UniEvent, UniInputElement, UniLifecycleHooks, UniNode, UniTextAreaElement, UniTextNode, WEB_INVOKE_APPSERVICE, WXS_MODULES, WXS_PROTOCOL, addFont, cache, cacheStringFunction, callOptions, createRpx2Unit, createUniEvent, debounce, decode, decodedQuery, defaultRpx2Unit, formatAppLog, formatDateTime, formatLog, getCustomDataset, getEnvLocale, getLen, getValueByDataPath, initCustomDataset, invokeArrayFns, isBuiltInComponent, isCustomElement, isNativeTag, isRootHook, isServiceCustomElement, isServiceNativeTag, normalizeDataset, normalizeEventType, normalizeTarget, once, parseEventName, parseQuery, parseUrl, passive, plusReady, removeLeadingSlash, resolveOwnerEl, resolveOwnerVm, sanitise, scrollTo, stringifyQuery, updateElementStyle };
export { ACTION_TYPE_ADD_EVENT, ACTION_TYPE_ADD_WXS_EVENT, ACTION_TYPE_CREATE, ACTION_TYPE_EVENT, ACTION_TYPE_INSERT, ACTION_TYPE_PAGE_CREATE, ACTION_TYPE_PAGE_CREATED, ACTION_TYPE_PAGE_SCROLL, ACTION_TYPE_REMOVE, ACTION_TYPE_REMOVE_ATTRIBUTE, ACTION_TYPE_REMOVE_EVENT, ACTION_TYPE_SET_ATTRIBUTE, ACTION_TYPE_SET_TEXT, ATTR_CHANGE_PREFIX, ATTR_CLASS, ATTR_INNER_HTML, ATTR_STYLE, ATTR_TEXT_CONTENT, ATTR_V_OWNER_ID, ATTR_V_RENDERJS, ATTR_V_SHOW, BACKGROUND_COLOR, BUILT_IN_TAGS, COMPONENT_NAME_PREFIX, COMPONENT_PREFIX, COMPONENT_SELECTOR_PREFIX, DATA_RE, EventChannel, EventModifierFlags, I18N_JSON_DELIMITERS, JSON_PROTOCOL, LINEFEED, NAVBAR_HEIGHT, NODE_TYPE_COMMENT, NODE_TYPE_ELEMENT, NODE_TYPE_PAGE, NODE_TYPE_TEXT, ON_ADD_TO_FAVORITES, ON_APP_ENTER_BACKGROUND, ON_APP_ENTER_FOREGROUND, ON_BACK_PRESS, ON_ERROR, ON_HIDE, ON_KEYBOARD_HEIGHT_CHANGE, ON_LAUNCH, ON_LOAD, ON_NAVIGATION_BAR_BUTTON_TAP, ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED, ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED, ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED, ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED, ON_PAGE_NOT_FOUND, ON_PAGE_SCROLL, ON_PULL_DOWN_REFRESH, ON_REACH_BOTTOM, ON_REACH_BOTTOM_DISTANCE, ON_READY, ON_RESIZE, ON_SHARE_APP_MESSAGE, ON_SHARE_TIMELINE, ON_SHOW, ON_TAB_ITEM_TAP, ON_THEME_CHANGE, ON_UNHANDLE_REJECTION, ON_UNLOAD, ON_WEB_INVOKE_APP_SERVICE, ON_WXS_INVOKE_CALL_METHOD, PLUS_RE, PRIMARY_COLOR, RENDERJS_MODULES, RESPONSIVE_MIN_WIDTH, SCHEME_RE, SELECTED_COLOR, TABBAR_HEIGHT, TAGS, UNI_SSR, UNI_SSR_DATA, UNI_SSR_GLOBAL_DATA, UNI_SSR_STORE, UNI_SSR_TITLE, UniBaseNode, UniCommentNode, UniElement, UniEvent, UniInputElement, UniLifecycleHooks, UniNode, UniTextAreaElement, UniTextNode, WEB_INVOKE_APPSERVICE, WXS_MODULES, WXS_PROTOCOL, addFont, cache, cacheStringFunction, callOptions, createRpx2Unit, createUniEvent, debounce, decode, decodedQuery, defaultRpx2Unit, formatAppLog, formatDateTime, formatLog, getCustomDataset, getEnvLocale, getLen, getValueByDataPath, initCustomDataset, invokeArrayFns, isBuiltInComponent, isCustomElement, isNativeTag, isRootHook, isServiceCustomElement, isServiceNativeTag, normalizeDataset, normalizeEventType, normalizeTarget, once, parseEventName, parseQuery, parseUrl, passive, plusReady, removeLeadingSlash, resolveOwnerEl, resolveOwnerVm, sanitise, scrollTo, stringifyQuery, updateElementStyle };
export const LINEFEED = '\n'
export const NAVBAR_HEIGHT = 44
export const TABBAR_HEIGHT = 50
export const ON_REACH_BOTTOM_DISTANCE = 50
......
......@@ -10,7 +10,6 @@ import { VitePluginUniResolvedOptions } from '../..'
import { uniPrePlugin } from './pre'
import { uniJsonPlugin } from './json'
import { uniPreCssPlugin } from './preCss'
import { uniEasycomPlugin } from './easycom'
import { uniStaticPlugin } from './static'
import { uniPreVuePlugin } from './preVue'
......@@ -26,8 +25,6 @@ export interface UniPluginFilterOptions extends VitePluginUniResolvedOptions {
const UNI_H5_RE = /@dcloudio\/uni-h5/
const APP_VUE_RE = /App.vue$/
const uniPrePluginOptions: Partial<UniPluginFilterOptions> = {
exclude: [...COMMON_EXCLUDE, UNI_H5_RE],
}
......@@ -35,10 +32,6 @@ const uniPreCssPluginOptions: Partial<UniPluginFilterOptions> = {
exclude: [...COMMON_EXCLUDE, UNI_H5_RE],
}
const uniEasycomPluginOptions: Partial<UniPluginFilterOptions> = {
exclude: [APP_VUE_RE, UNI_H5_RE],
}
export function initPlugins(
config: ResolvedConfig,
options: VitePluginUniResolvedOptions
......@@ -67,11 +60,6 @@ export function initPlugins(
'vite:vue'
)
addPlugin(
plugins,
uniEasycomPlugin(extend(uniEasycomPluginOptions, options), config),
'vite:vue'
)
addPlugin(plugins, uniJsonPlugin(options), 'vite:json', 'pre')
addPlugin(plugins, uniStaticPlugin(options, config), 'vite:asset', 'pre')
......
......@@ -37,7 +37,7 @@ export interface VitePluginUniOptions {
outputDir?: string
vueOptions?: VueOptions
vueJsxOptions?: VueJSXPluginOptions | boolean
viteLegacyOptions?: ViteLegacyOptions
viteLegacyOptions?: ViteLegacyOptions | false
}
export interface VitePluginUniResolvedOptions extends VitePluginUniOptions {
base: string
......@@ -77,7 +77,7 @@ export default function uniPlugin(
const plugins: Plugin[] = []
if (createViteLegacyPlugin && options.viteLegacyOptions !== false) {
if (createViteLegacyPlugin && options.viteLegacyOptions) {
plugins.push(
...(createViteLegacyPlugin(
initPluginViteLegacyOptions(options)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册