feat: 添加@uni-ku/root依赖并配置vite插件
移除页面中的tabbar布局配置 在default.vue中暴露testUniLayoutExposedData 添加App.ku.vue作为根组件 更新pages.json移除tabbar布局配置
This commit is contained in:
@@ -144,6 +144,7 @@
|
|||||||
"@uni-helper/vite-plugin-uni-pages": "0.3.0",
|
"@uni-helper/vite-plugin-uni-pages": "0.3.0",
|
||||||
"@uni-helper/vite-plugin-uni-platform": "0.0.5",
|
"@uni-helper/vite-plugin-uni-platform": "0.0.5",
|
||||||
"@uni-ku/bundle-optimizer": "^1.3.3",
|
"@uni-ku/bundle-optimizer": "^1.3.3",
|
||||||
|
"@uni-ku/root": "^1.3.2",
|
||||||
"@unocss/eslint-plugin": "^66.2.3",
|
"@unocss/eslint-plugin": "^66.2.3",
|
||||||
"@vue/runtime-core": "3.4.21",
|
"@vue/runtime-core": "3.4.21",
|
||||||
"@vue/tsconfig": "^0.1.3",
|
"@vue/tsconfig": "^0.1.3",
|
||||||
|
|||||||
18
pnpm-lock.yaml
generated
18
pnpm-lock.yaml
generated
@@ -167,6 +167,9 @@ importers:
|
|||||||
'@uni-ku/bundle-optimizer':
|
'@uni-ku/bundle-optimizer':
|
||||||
specifier: ^1.3.3
|
specifier: ^1.3.3
|
||||||
version: 1.3.8(postcss@8.5.6)(rollup@4.46.2)(vite@5.2.8(@types/node@20.19.9)(sass@1.77.8)(terser@5.43.1))(vue@3.4.21(typescript@5.8.3))
|
version: 1.3.8(postcss@8.5.6)(rollup@4.46.2)(vite@5.2.8(@types/node@20.19.9)(sass@1.77.8)(terser@5.43.1))(vue@3.4.21(typescript@5.8.3))
|
||||||
|
'@uni-ku/root':
|
||||||
|
specifier: ^1.3.2
|
||||||
|
version: 1.3.2(vite@5.2.8(@types/node@20.19.9)(sass@1.77.8)(terser@5.43.1))
|
||||||
'@unocss/eslint-plugin':
|
'@unocss/eslint-plugin':
|
||||||
specifier: ^66.2.3
|
specifier: ^66.2.3
|
||||||
version: 66.4.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3)
|
version: 66.4.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3)
|
||||||
@@ -1155,11 +1158,13 @@ packages:
|
|||||||
'@esbuild/darwin-arm64@0.20.2':
|
'@esbuild/darwin-arm64@0.20.2':
|
||||||
resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==}
|
resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
|
cpu: [arm64]
|
||||||
os: [darwin]
|
os: [darwin]
|
||||||
|
|
||||||
'@esbuild/darwin-x64@0.20.2':
|
'@esbuild/darwin-x64@0.20.2':
|
||||||
resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==}
|
resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
|
cpu: [x64]
|
||||||
os: [darwin]
|
os: [darwin]
|
||||||
|
|
||||||
'@esbuild/freebsd-arm64@0.20.2':
|
'@esbuild/freebsd-arm64@0.20.2':
|
||||||
@@ -1784,6 +1789,7 @@ packages:
|
|||||||
|
|
||||||
'@rollup/rollup-darwin-x64@4.46.2':
|
'@rollup/rollup-darwin-x64@4.46.2':
|
||||||
resolution: {integrity: sha512-SSj8TlYV5nJixSsm/y3QXfhspSiLYP11zpfwp6G/YDXctf3Xkdnk4woJIF5VQe0of2OjzTt8EsxnJDCdHd2xMA==}
|
resolution: {integrity: sha512-SSj8TlYV5nJixSsm/y3QXfhspSiLYP11zpfwp6G/YDXctf3Xkdnk4woJIF5VQe0of2OjzTt8EsxnJDCdHd2xMA==}
|
||||||
|
cpu: [x64]
|
||||||
os: [darwin]
|
os: [darwin]
|
||||||
|
|
||||||
'@rollup/rollup-freebsd-arm64@4.46.2':
|
'@rollup/rollup-freebsd-arm64@4.46.2':
|
||||||
@@ -2155,6 +2161,11 @@ packages:
|
|||||||
peerDependencies:
|
peerDependencies:
|
||||||
vite: ^4.0.0 || ^5.0.0
|
vite: ^4.0.0 || ^5.0.0
|
||||||
|
|
||||||
|
'@uni-ku/root@1.3.2':
|
||||||
|
resolution: {integrity: sha512-0wgUVATOCaFapkwgjbZxp8X0B8eOw3flg/JDPRBYyIumBbVENbZEa57pOi8hl5ogmVDCm+sdNSFWRXOiQIy3tA==}
|
||||||
|
peerDependencies:
|
||||||
|
vite: ^5.0.0
|
||||||
|
|
||||||
'@unocss-applet/preset-applet@0.10.0':
|
'@unocss-applet/preset-applet@0.10.0':
|
||||||
resolution: {integrity: sha512-bN6jaZo0WMQRvKVDisUXAF4Ig2CVDMe8rk6rZDxzWNFZiReMYK97SxS/JTEFAknWSu4C+GYtut+57NPD2PqHrg==}
|
resolution: {integrity: sha512-bN6jaZo0WMQRvKVDisUXAF4Ig2CVDMe8rk6rZDxzWNFZiReMYK97SxS/JTEFAknWSu4C+GYtut+57NPD2PqHrg==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@@ -8968,6 +8979,13 @@ snapshots:
|
|||||||
- ts-node
|
- ts-node
|
||||||
- vue
|
- vue
|
||||||
|
|
||||||
|
'@uni-ku/root@1.3.2(vite@5.2.8(@types/node@20.19.9)(sass@1.77.8)(terser@5.43.1))':
|
||||||
|
dependencies:
|
||||||
|
'@vue/compiler-sfc': 3.4.21
|
||||||
|
chokidar: 3.6.0
|
||||||
|
jsonc-parser: 3.3.1
|
||||||
|
vite: 5.2.8(@types/node@20.19.9)(sass@1.77.8)(terser@5.43.1)
|
||||||
|
|
||||||
'@unocss-applet/preset-applet@0.10.0(@unocss/core@66.4.0)(@unocss/preset-mini@66.0.0)(@unocss/preset-wind3@66.0.0)':
|
'@unocss-applet/preset-applet@0.10.0(@unocss/core@66.4.0)(@unocss/preset-mini@66.0.0)(@unocss/preset-wind3@66.0.0)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@unocss/core': 66.4.0
|
'@unocss/core': 66.4.0
|
||||||
|
|||||||
24
src/App.ku.vue
Normal file
24
src/App.ku.vue
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
<script setup lang="ts">
|
||||||
|
import { ref } from 'vue'
|
||||||
|
import FgTabbar from '@/tabbar/index.vue'
|
||||||
|
import { isPageTabbar } from './tabbar/store'
|
||||||
|
import { currRoute } from './utils'
|
||||||
|
|
||||||
|
const isCurrentPageTabbar = ref(true)
|
||||||
|
onShow(() => {
|
||||||
|
console.log('App.ku.vue onShow', currRoute())
|
||||||
|
const { path } = currRoute()
|
||||||
|
isCurrentPageTabbar.value = isPageTabbar(path)
|
||||||
|
})
|
||||||
|
|
||||||
|
const helloKuRoot = ref('Hello AppKuVue')
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<view class="text-center">
|
||||||
|
{{ helloKuRoot }},这里可以配置全局的东西
|
||||||
|
</view>
|
||||||
|
<!-- 顶级 KuRootView -->
|
||||||
|
<KuRootView />
|
||||||
|
<FgTabbar v-if="isCurrentPageTabbar" />
|
||||||
|
</template>
|
||||||
@@ -2,6 +2,11 @@
|
|||||||
import { useThemeStore } from '@/store'
|
import { useThemeStore } from '@/store'
|
||||||
|
|
||||||
const themeStore = useThemeStore()
|
const themeStore = useThemeStore()
|
||||||
|
|
||||||
|
const testUniLayoutExposedData = ref('testUniLayoutExposedData')
|
||||||
|
defineExpose({
|
||||||
|
testUniLayoutExposedData,
|
||||||
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
|||||||
@@ -43,7 +43,6 @@
|
|||||||
{
|
{
|
||||||
"path": "pages/index/index",
|
"path": "pages/index/index",
|
||||||
"type": "home",
|
"type": "home",
|
||||||
"layout": "tabbar",
|
|
||||||
"style": {
|
"style": {
|
||||||
"navigationStyle": "custom",
|
"navigationStyle": "custom",
|
||||||
"navigationBarTitleText": "首页"
|
"navigationBarTitleText": "首页"
|
||||||
@@ -52,7 +51,6 @@
|
|||||||
{
|
{
|
||||||
"path": "pages/about/about",
|
"path": "pages/about/about",
|
||||||
"type": "page",
|
"type": "page",
|
||||||
"layout": "tabbar",
|
|
||||||
"style": {
|
"style": {
|
||||||
"navigationBarTitleText": "关于"
|
"navigationBarTitleText": "关于"
|
||||||
}
|
}
|
||||||
@@ -92,7 +90,6 @@
|
|||||||
{
|
{
|
||||||
"path": "pages/me/me",
|
"path": "pages/me/me",
|
||||||
"type": "page",
|
"type": "page",
|
||||||
"layout": "tabbar",
|
|
||||||
"style": {
|
"style": {
|
||||||
"navigationBarTitleText": "我的"
|
"navigationBarTitleText": "我的"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
<route lang="jsonc" type="page">
|
<route lang="jsonc" type="page">
|
||||||
{
|
{
|
||||||
"layout": "tabbar",
|
|
||||||
"style": {
|
"style": {
|
||||||
"navigationBarTitleText": "关于"
|
"navigationBarTitleText": "关于"
|
||||||
}
|
}
|
||||||
@@ -49,6 +48,11 @@ onReady(() => {
|
|||||||
console.log('onReady:', uniLayout.value) // onReady: Proxy(Object)
|
console.log('onReady:', uniLayout.value) // onReady: Proxy(Object)
|
||||||
console.log('onReady:', uniLayout.value.testUniLayoutExposedData) // onReady: testUniLayoutExposedData
|
console.log('onReady:', uniLayout.value.testUniLayoutExposedData) // onReady: testUniLayoutExposedData
|
||||||
})
|
})
|
||||||
|
// 结论:第一次通过onShow获取不到,但是可以通过 onReady获取到,后面就可以通过onShow获取到了
|
||||||
|
onShow(() => {
|
||||||
|
console.log('onShow:', uniLayout.value) // onReady: Proxy(Object)
|
||||||
|
console.log('onShow:', uniLayout.value?.testUniLayoutExposedData) // onReady: testUniLayoutExposedData
|
||||||
|
})
|
||||||
|
|
||||||
function gotoTabbar() {
|
function gotoTabbar() {
|
||||||
uni.switchTab({
|
uni.switchTab({
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
<!-- 使用 type="home" 属性设置首页,其他页面不需要设置,默认为page -->
|
<!-- 使用 type="home" 属性设置首页,其他页面不需要设置,默认为page -->
|
||||||
<route lang="jsonc" type="home">
|
<route lang="jsonc" type="home">
|
||||||
{
|
{
|
||||||
"layout": "tabbar",
|
|
||||||
"style": {
|
"style": {
|
||||||
// 'custom' 表示开启自定义导航栏,默认 'default'
|
// 'custom' 表示开启自定义导航栏,默认 'default'
|
||||||
"navigationStyle": "custom",
|
"navigationStyle": "custom",
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
<route lang="jsonc" type="page">
|
<route lang="jsonc" type="page">
|
||||||
{
|
{
|
||||||
"layout": "tabbar",
|
|
||||||
"style": {
|
"style": {
|
||||||
// 'custom' 表示开启自定义导航栏,默认 'default'
|
// 'custom' 表示开启自定义导航栏,默认 'default'
|
||||||
// "navigationStyle": "custom",
|
// "navigationStyle": "custom",
|
||||||
|
|||||||
@@ -16,6 +16,8 @@ import UniPlatform from '@uni-helper/vite-plugin-uni-platform'
|
|||||||
* @see https://github.com/uni-ku/bundle-optimizer
|
* @see https://github.com/uni-ku/bundle-optimizer
|
||||||
*/
|
*/
|
||||||
import Optimization from '@uni-ku/bundle-optimizer'
|
import Optimization from '@uni-ku/bundle-optimizer'
|
||||||
|
// https://github.com/uni-ku/root
|
||||||
|
import UniKuRoot from '@uni-ku/root'
|
||||||
import dayjs from 'dayjs'
|
import dayjs from 'dayjs'
|
||||||
import { visualizer } from 'rollup-plugin-visualizer'
|
import { visualizer } from 'rollup-plugin-visualizer'
|
||||||
import UnoCSS from 'unocss/vite'
|
import UnoCSS from 'unocss/vite'
|
||||||
@@ -129,6 +131,8 @@ export default ({ command, mode }) => {
|
|||||||
directoryAsNamespace: false, // 是否把目录名作为命名空间前缀,true 时组件名为 目录名+组件名,
|
directoryAsNamespace: false, // 是否把目录名作为命名空间前缀,true 时组件名为 目录名+组件名,
|
||||||
dts: 'src/types/components.d.ts', // 自动生成的组件类型声明文件路径(用于 TypeScript 支持)
|
dts: 'src/types/components.d.ts', // 自动生成的组件类型声明文件路径(用于 TypeScript 支持)
|
||||||
}),
|
}),
|
||||||
|
// 若存在改变 pages.json 的插件,请将 UniKuRoot 放置其后
|
||||||
|
UniKuRoot(),
|
||||||
Uni(),
|
Uni(),
|
||||||
],
|
],
|
||||||
define: {
|
define: {
|
||||||
|
|||||||
Reference in New Issue
Block a user