网站开工建设

This commit is contained in:
zhcnyuyang 2025-06-08 19:22:42 +08:00
parent 69306430c2
commit 21160355cc
15 changed files with 543 additions and 34 deletions

View File

@ -14,6 +14,7 @@
"axios": "^1.9.0", "axios": "^1.9.0",
"bootstrap": "^5.3.6", "bootstrap": "^5.3.6",
"ismobilejs": "^1.1.1", "ismobilejs": "^1.1.1",
"sass-embedded": "^1.89.1",
"vue": "^3.5.13", "vue": "^3.5.13",
"vue-router": "^4.5.1" "vue-router": "^4.5.1"
}, },

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 66 KiB

View File

@ -1,9 +1,11 @@
<script setup> <script setup>
// import from './components/HelloWorld.vue' // import from './components/HelloWorld.vue'
import navbar from './components/navbar.vue'
</script> </script>
<template> <template>
<div> <div class="pageroot">
<navbar></navbar>
<router-view></router-view> <router-view></router-view>
</div> </div>
</template> </template>

View File

@ -1,12 +1,11 @@
@import './base.css'; @import './base.css';
#app { #app {
max-width: 1280px; /*margin: 0 auto;*/
margin: 0 auto; /* padding: 2rem; */ /* Removed to allow full width */
padding: 2rem;
font-weight: normal; font-weight: normal;
background-color: #f2f2f2;
} }
a, a,
.green { .green {
text-decoration: none; text-decoration: none;
@ -21,15 +20,17 @@ a,
} }
} }
body{
background-color: gray;
}
@media (min-width: 1024px) { @media (min-width: 1024px) {
body { body {
display: flex; display: flex;
place-items: center; /*place-items: center;*/
} }
#app { #app {
display: grid; width: 100%; /* Ensure #app takes full width of the body */
grid-template-columns: 1fr 1fr;
padding: 0 2rem;
} }
} }

View File

@ -7,9 +7,36 @@ export default defineComponent({
</script> </script>
<template> <template>
<div class="container-lg bg-light pageroot">
<div class="normalcontentdiv">
<span class="normalcontenttitle">
联系我们
</span>
<span class="normalcontenttext" style="width: 100%;">
<table class="table table-bordered table-striped">
<tr>
<td style="text-align: right;width: 50%;">公司名称</td>
<td style="text-align: left;width: 50%;">苏州卡多雷科技有限公司</td>
</tr>
<tr>
<td style="text-align: right;width: 50%;">电话</td>
<td style="text-align: left;width: 50%;">13911342704</td>
</tr>
<tr>
<td style="text-align: right;width: 50%;">邮箱</td>
<td style="text-align: left;width: 50%;">1362530808@qq.com</td>
</tr>
<tr>
<td style="text-align: right;width: 50%;">地址</td>
<td style="text-align: left;width: 50%;">北京市朝阳区国际会议大厦a座18层</td>
</tr>
</table>
</span>
</div>
</div>
</template> </template>
<style scoped> <style scoped lang="scss">
@import "../publicstyle.scss";
</style> </style>

25
src/components/Err404.vue Normal file
View File

@ -0,0 +1,25 @@
<script lang="ts">
import {defineComponent} from 'vue'
export default defineComponent({
name: "Err404"
})
</script>
<template>
<div class="container-lg bg-light pageroot">
<div class="normalcontentdiv">
<span class="normalcontenttitle">
404找不到页面
</span>
<span class="normalcontenttext" style="width: 100%;">
您访问的页面不存在或已被删除请检查您输入的地址是否正确<a href="/">返回首页</a>如果您认为这是一个错误请联系我们
</span>
</div>
</div>
</template>
<style scoped lang="scss">
@import "../publicstyle.scss";
</style>

View File

@ -10,6 +10,7 @@ export default defineComponent({
</template> </template>
<style scoped> <style scoped lang="scss">
@import "../publicstyle.scss";
</style> </style>

View File

@ -10,6 +10,7 @@ export default defineComponent({
</template> </template>
<style scoped> <style scoped lang="scss">
@import "../publicstyle.scss";
</style> </style>

View File

@ -10,6 +10,7 @@ name: "Homepage"
</template> </template>
<style scoped> <style scoped lang="scss">
@import "../publicstyle.scss";
</style> </style>

39
src/components/navbar.vue Normal file
View File

@ -0,0 +1,39 @@
<script lang="ts">
import {defineComponent} from 'vue'
export default defineComponent({
name: "navbar"
})
</script>
<template>
<nav class="navbar navbar-expand-lg navbar-light"
style="background-color:mediumpurple;">
<div class="container-lg">
<a href="/" class="navbar-brand">
<img src="/favicon.ico" height="28" alt="">
</a>
<button type="button" class="navbar-toggler" data-bs-toggle="collapse" data-bs-target="#navbarCollapse">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarCollapse">
<div class="navbar-nav ms-auto">
<a href="/" class="nav-item nav-link active">主页</a>
<a href="/Examples" class="nav-item nav-link">行业案例</a>
<a href="/ContactUs" class="nav-item nav-link">联系我们</a>
</div>
</div>
</div>
</nav>
</template>
<style scoped lang="scss">
@import "../publicstyle.scss";
.navbar-nav .nav-link {
color: white !important; /* Added !important for specificity */
}
.navbar-nav .nav-link.active {
color: white !important; /* Added !important for specificity */
}
</style>

View File

@ -2,10 +2,31 @@ import './assets/main.css'
import { createApp } from 'vue' import { createApp } from 'vue'
import App from './App.vue' import App from './App.vue'
import router from './router.js'
import axios from 'axios'
// import isMobile from 'ismobilejs'
// 引入 Bootstrap CSS // 引入 Bootstrap CSS
import 'bootstrap/dist/css/bootstrap.min.css' import 'bootstrap/dist/css/bootstrap.min.css'
// 引入 Bootstrap JavaScript (Bundle 版本包含了 Popper.js) // 引入 Bootstrap JavaScript (Bundle 版本包含了 Popper.js)
import 'bootstrap/dist/js/bootstrap.bundle.min.js' import 'bootstrap/dist/js/bootstrap.bundle.min.js'
createApp(App).mount('#app') const app = createApp(App)
axios.defaults.baseURL = 'https://cms2.yangprivate.site'
// 全局挂载 axios所有组件都可以 this.$axios 访问
app.config.globalProperties.$axios = axios
// 安全地获取 User Agent 并进行检测
// let mobileDetectResult;
// if (typeof navigator !== 'undefined') {
// // isMobile() 函数需要一个 user-agent 字符串作为参数
// mobileDetectResult = isMobile(navigator.userAgent);
// } else {
// // 为服务器端渲染 (SSR) 或其他非浏览器环境提供回退
// // isMobile('') 会返回一个所有检测标志都为 false 的对象
// mobileDetectResult = isMobile('');
// }
// app.config.globalProperties.$isMobile = mobileDetectResult;
app.use(router).mount('#app')

103
src/publicstyle.scss Normal file
View File

@ -0,0 +1,103 @@
@import "bootstrap/scss/functions";
@import "bootstrap/scss/variables";
@import "bootstrap/scss/mixins";
@import "bootstrap/scss/bootstrap"; // Import all of Bootstrap
.pageroot{
display: flex;
flex-direction: column;
//width: 100%;
margin-top: 16px;
background-color: white;
@include media-breakpoint-between(xs, md){
//margin-left: 8px;
//margin-right: 8px;
}
@include media-breakpoint-between(md, xl) {
}
}
.normalcontentdiv{
display: flex;
flex-direction: column;
justify-content: center;
height:auto;
margin-left: 32px;
margin-right: 32px;
//margin-top: 64px;
@include media-breakpoint-between(xs, md) {
//margin-left: 32px;
//margin-right: 32px;
margin-top: 64px;
margin-bottom: 64px;
}
@include media-breakpoint-between(md,xxl){
//margin-left: 100px;
//margin-right: 100px;
margin-top: 96px;
margin-bottom: 96px;
}
@include media-breakpoint-up(xxl) {
//margin-left: 256px;
//margin-right: 256px;
margin-top: 96px;
margin-bottom: 96px;
}
}
//这是span
.normalcontenttitle{
margin-left: 0px;
margin-right: 0px;
overflow-wrap: break-word;
color: rgba(13, 13, 13, 1);
@include media-breakpoint-between(xs, md) {
font-size: 24px;
font-family: PingFangSC-Medium;
font-weight: 500;
text-align: left;
}
@include media-breakpoint-between(md,xl){
}
@include media-breakpoint-up(md) {
width: auto;
height: auto;
font-size: 48px;
font-family: PingFangSC-Medium;
font-weight: 500;
text-align: left;
white-space: nowrap;
line-height: 48px;
}
}
.normalcontenttext{
margin-left: 0px;
margin-right: 0px;
width:100%;
white-space: pre-line;
@include media-breakpoint-between(xs, md) {
overflow-wrap: break-word;
color: rgba(13, 13, 13, 1);
font-size: 15px;
font-family: PingFangSC-Regular;
font-weight: normal;
text-align: justify;
line-height: 24px;
margin-top: 8px;
}
@include media-breakpoint-between(md,xl){
}
@include media-breakpoint-up(md) {
margin-top: 35px;
overflow-wrap: break-word;
color: rgba(13, 13, 13, 1);
font-size: 24px;
font-family: PingFangSC-Regular;
font-weight: normal;
text-align: justify;
line-height: 42px;
}
}

50
src/router.js Normal file
View File

@ -0,0 +1,50 @@
import { createRouter, createWebHistory } from 'vue-router'
// 导入页面组件
import Home from './components/Homepage.vue'
import ExampleList from './components/ExampleList.vue'
import ExampleItem from './components/ExampleItem.vue'
const routes = [
{
path: '/',
name: 'Homepage',
component: ()=>import('./components/Homepage.vue'),
meta: { title: '首页-苏州卡多雷科技有限公司' }
},
{
path: '/Examples',
name: 'ExampleList',
component: ()=>import('./components/ExampleList.vue'),
meta: { title: '行业案例-苏州卡多雷科技有限公司' }
},
{
path: '/ContactUs',
name: 'ContactUs',
component: ()=>import('./components/ContactUs.vue'),
meta: { title: '联系我们-苏州卡多雷科技有限公司' }
},
{
path: '/ExampleItem',
name: 'ExampleItem',
component: ()=>import('./components/ExampleItem.vue'),
meta: { title: '案例详情-苏州卡多雷科技有限公司' }
},
{
path: '/Err404',
name: 'Err404',
component: ()=>import('./components/Err404.vue'),
meta: { title: '404未找到此页面' }
},
{
path: '/:pathMatch(.*)*',
redirect: '/Err404'
}
]
const router = createRouter({
history: createWebHistory(),
routes
})
export default router

View File

@ -1,19 +0,0 @@
import { createRouter, createWebHistory } from 'vue-router'
// 导入页面组件
import Home from '../components/Homepage.vue'
const routes = [
{
path: '/',
name: 'Homepage',
component: Homepage
}
]
const router = createRouter({
history: createWebHistory(),
routes
})
export default router

256
yarn.lock
View File

@ -359,6 +359,13 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@bufbuild/protobuf@npm:^2.0.0":
version: 2.5.2
resolution: "@bufbuild/protobuf@npm:2.5.2"
checksum: f0e153333f39f156db3f866fb245efd88367add15aae5c146026a28163f77fefd9ee09fb08921e62a5a145434fcc2e58c07c0007328c56b65866345b2463e55d
languageName: node
linkType: hard
"@esbuild/aix-ppc64@npm:0.25.5": "@esbuild/aix-ppc64@npm:0.25.5":
version: 0.25.5 version: 0.25.5
resolution: "@esbuild/aix-ppc64@npm:0.25.5" resolution: "@esbuild/aix-ppc64@npm:0.25.5"
@ -1232,6 +1239,13 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"buffer-builder@npm:^0.2.0":
version: 0.2.0
resolution: "buffer-builder@npm:0.2.0"
checksum: 4d8215a03dbb193a3417bcd6057e324d4b7accabb6d3db5f9b3047fd4dd314814d8e7d026a0eebac7dc3cf24420f024e545f2d3932fdf32373af27b5f03b8e5b
languageName: node
linkType: hard
"buffer@npm:^5.5.0": "buffer@npm:^5.5.0":
version: 5.7.1 version: 5.7.1
resolution: "buffer@npm:5.7.1" resolution: "buffer@npm:5.7.1"
@ -1344,6 +1358,13 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"colorjs.io@npm:^0.5.0":
version: 0.5.2
resolution: "colorjs.io@npm:0.5.2"
checksum: f4ad8a0ead4e7eb74612a5fed9ae999201116b215b2eac70660c1f643e21980922741641209bdbd010723923762e8e80bd499250acf7505605309f01b76f53fa
languageName: node
linkType: hard
"combined-stream@npm:^1.0.8": "combined-stream@npm:^1.0.8":
version: 1.0.8 version: 1.0.8
resolution: "combined-stream@npm:1.0.8" resolution: "combined-stream@npm:1.0.8"
@ -2030,6 +2051,13 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"immutable@npm:^5.0.2":
version: 5.1.2
resolution: "immutable@npm:5.1.2"
checksum: 85db3b2fddd637af68c85f7ac2710803fa61736ec56161e6035212a2226eae4d08bae913d48c15baaa94eb2f29e86a45bc40c02777b0220f6943ab66f4dfcf30
languageName: node
linkType: hard
"imurmurhash@npm:^0.1.4": "imurmurhash@npm:^0.1.4":
version: 0.1.4 version: 0.1.4
resolution: "imurmurhash@npm:0.1.4" resolution: "imurmurhash@npm:0.1.4"
@ -2289,6 +2317,7 @@ __metadata:
axios: ^1.9.0 axios: ^1.9.0
bootstrap: ^5.3.6 bootstrap: ^5.3.6
ismobilejs: ^1.1.1 ismobilejs: ^1.1.1
sass-embedded: ^1.89.1
vite: ^6.2.4 vite: ^6.2.4
vite-plugin-vue-devtools: ^7.7.2 vite-plugin-vue-devtools: ^7.7.2
vue: ^3.5.13 vue: ^3.5.13
@ -3016,6 +3045,15 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"rxjs@npm:^7.4.0":
version: 7.8.2
resolution: "rxjs@npm:7.8.2"
dependencies:
tslib: ^2.1.0
checksum: 2f233d7c832a6c255dabe0759014d7d9b1c9f1cb2f2f0d59690fd11c883c9826ea35a51740c06ab45b6ade0d9087bde9192f165cba20b6730d344b831ef80744
languageName: node
linkType: hard
"safe-buffer@npm:~5.2.0": "safe-buffer@npm:~5.2.0":
version: 5.2.1 version: 5.2.1
resolution: "safe-buffer@npm:5.2.1" resolution: "safe-buffer@npm:5.2.1"
@ -3030,6 +3068,185 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"sass-embedded-android-arm64@npm:1.89.1":
version: 1.89.1
resolution: "sass-embedded-android-arm64@npm:1.89.1"
conditions: os=android & cpu=arm64
languageName: node
linkType: hard
"sass-embedded-android-arm@npm:1.89.1":
version: 1.89.1
resolution: "sass-embedded-android-arm@npm:1.89.1"
conditions: os=android & cpu=arm
languageName: node
linkType: hard
"sass-embedded-android-riscv64@npm:1.89.1":
version: 1.89.1
resolution: "sass-embedded-android-riscv64@npm:1.89.1"
conditions: os=android & cpu=riscv64
languageName: node
linkType: hard
"sass-embedded-android-x64@npm:1.89.1":
version: 1.89.1
resolution: "sass-embedded-android-x64@npm:1.89.1"
conditions: os=android & cpu=x64
languageName: node
linkType: hard
"sass-embedded-darwin-arm64@npm:1.89.1":
version: 1.89.1
resolution: "sass-embedded-darwin-arm64@npm:1.89.1"
conditions: os=darwin & cpu=arm64
languageName: node
linkType: hard
"sass-embedded-darwin-x64@npm:1.89.1":
version: 1.89.1
resolution: "sass-embedded-darwin-x64@npm:1.89.1"
conditions: os=darwin & cpu=x64
languageName: node
linkType: hard
"sass-embedded-linux-arm64@npm:1.89.1":
version: 1.89.1
resolution: "sass-embedded-linux-arm64@npm:1.89.1"
conditions: os=linux & cpu=arm64
languageName: node
linkType: hard
"sass-embedded-linux-arm@npm:1.89.1":
version: 1.89.1
resolution: "sass-embedded-linux-arm@npm:1.89.1"
conditions: os=linux & cpu=arm
languageName: node
linkType: hard
"sass-embedded-linux-musl-arm64@npm:1.89.1":
version: 1.89.1
resolution: "sass-embedded-linux-musl-arm64@npm:1.89.1"
conditions: os=linux & cpu=arm64
languageName: node
linkType: hard
"sass-embedded-linux-musl-arm@npm:1.89.1":
version: 1.89.1
resolution: "sass-embedded-linux-musl-arm@npm:1.89.1"
conditions: os=linux & cpu=arm
languageName: node
linkType: hard
"sass-embedded-linux-musl-riscv64@npm:1.89.1":
version: 1.89.1
resolution: "sass-embedded-linux-musl-riscv64@npm:1.89.1"
conditions: os=linux & cpu=riscv64
languageName: node
linkType: hard
"sass-embedded-linux-musl-x64@npm:1.89.1":
version: 1.89.1
resolution: "sass-embedded-linux-musl-x64@npm:1.89.1"
conditions: os=linux & cpu=x64
languageName: node
linkType: hard
"sass-embedded-linux-riscv64@npm:1.89.1":
version: 1.89.1
resolution: "sass-embedded-linux-riscv64@npm:1.89.1"
conditions: os=linux & cpu=riscv64
languageName: node
linkType: hard
"sass-embedded-linux-x64@npm:1.89.1":
version: 1.89.1
resolution: "sass-embedded-linux-x64@npm:1.89.1"
conditions: os=linux & cpu=x64
languageName: node
linkType: hard
"sass-embedded-win32-arm64@npm:1.89.1":
version: 1.89.1
resolution: "sass-embedded-win32-arm64@npm:1.89.1"
conditions: os=win32 & cpu=arm64
languageName: node
linkType: hard
"sass-embedded-win32-x64@npm:1.89.1":
version: 1.89.1
resolution: "sass-embedded-win32-x64@npm:1.89.1"
conditions: os=win32 & cpu=x64
languageName: node
linkType: hard
"sass-embedded@npm:^1.89.1":
version: 1.89.1
resolution: "sass-embedded@npm:1.89.1"
dependencies:
"@bufbuild/protobuf": ^2.0.0
buffer-builder: ^0.2.0
colorjs.io: ^0.5.0
immutable: ^5.0.2
rxjs: ^7.4.0
sass-embedded-android-arm: 1.89.1
sass-embedded-android-arm64: 1.89.1
sass-embedded-android-riscv64: 1.89.1
sass-embedded-android-x64: 1.89.1
sass-embedded-darwin-arm64: 1.89.1
sass-embedded-darwin-x64: 1.89.1
sass-embedded-linux-arm: 1.89.1
sass-embedded-linux-arm64: 1.89.1
sass-embedded-linux-musl-arm: 1.89.1
sass-embedded-linux-musl-arm64: 1.89.1
sass-embedded-linux-musl-riscv64: 1.89.1
sass-embedded-linux-musl-x64: 1.89.1
sass-embedded-linux-riscv64: 1.89.1
sass-embedded-linux-x64: 1.89.1
sass-embedded-win32-arm64: 1.89.1
sass-embedded-win32-x64: 1.89.1
supports-color: ^8.1.1
sync-child-process: ^1.0.2
varint: ^6.0.0
dependenciesMeta:
sass-embedded-android-arm:
optional: true
sass-embedded-android-arm64:
optional: true
sass-embedded-android-riscv64:
optional: true
sass-embedded-android-x64:
optional: true
sass-embedded-darwin-arm64:
optional: true
sass-embedded-darwin-x64:
optional: true
sass-embedded-linux-arm:
optional: true
sass-embedded-linux-arm64:
optional: true
sass-embedded-linux-musl-arm:
optional: true
sass-embedded-linux-musl-arm64:
optional: true
sass-embedded-linux-musl-riscv64:
optional: true
sass-embedded-linux-musl-x64:
optional: true
sass-embedded-linux-riscv64:
optional: true
sass-embedded-linux-x64:
optional: true
sass-embedded-win32-arm64:
optional: true
sass-embedded-win32-x64:
optional: true
bin:
sass: dist/bin/sass.js
checksum: b6fc8d3f2fdfd28e9bfd21fbebe756be83803579a9b791fd26182c9a9979c4d3503ab2361dad6384857d00c65724705d3f3f868b2964f3cba8ee35a8ce9f566b
languageName: node
linkType: hard
"semver@npm:2 || 3 || 4 || 5, semver@npm:^5.5.0": "semver@npm:2 || 3 || 4 || 5, semver@npm:^5.5.0":
version: 5.7.2 version: 5.7.2
resolution: "semver@npm:5.7.2" resolution: "semver@npm:5.7.2"
@ -3294,6 +3511,15 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"supports-color@npm:^8.1.1":
version: 8.1.1
resolution: "supports-color@npm:8.1.1"
dependencies:
has-flag: ^4.0.0
checksum: c052193a7e43c6cdc741eb7f378df605636e01ad434badf7324f17fb60c69a880d8d8fcdcb562cf94c2350e57b937d7425ab5b8326c67c2adc48f7c87c1db406
languageName: node
linkType: hard
"supports-preserve-symlinks-flag@npm:^1.0.0": "supports-preserve-symlinks-flag@npm:^1.0.0":
version: 1.0.0 version: 1.0.0
resolution: "supports-preserve-symlinks-flag@npm:1.0.0" resolution: "supports-preserve-symlinks-flag@npm:1.0.0"
@ -3301,6 +3527,22 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"sync-child-process@npm:^1.0.2":
version: 1.0.2
resolution: "sync-child-process@npm:1.0.2"
dependencies:
sync-message-port: ^1.0.0
checksum: 03939c096278d6a3fc5922575ef22bca64d4105707ad4a8c04713dd56be556e2d5b485aae7af0d012493b05e99852c12a9cdfd6e2dbeabe90e76242bb8046e2f
languageName: node
linkType: hard
"sync-message-port@npm:^1.0.0":
version: 1.1.3
resolution: "sync-message-port@npm:1.1.3"
checksum: ad252d3e35b8f610efd728372edbe3ee6b51944b4c2ae4f7d07f2b25a2f7464afbd0e08557cb7efeb4e43c792b86f2f4532a1bdacef7ade0847b34c9788a485e
languageName: node
linkType: hard
"tar@npm:^7.4.3": "tar@npm:^7.4.3":
version: 7.4.3 version: 7.4.3
resolution: "tar@npm:7.4.3" resolution: "tar@npm:7.4.3"
@ -3339,6 +3581,13 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"tslib@npm:^2.1.0":
version: 2.8.1
resolution: "tslib@npm:2.8.1"
checksum: e4aba30e632b8c8902b47587fd13345e2827fa639e7c3121074d5ee0880723282411a8838f830b55100cbe4517672f84a2472667d355b81e8af165a55dc6203a
languageName: node
linkType: hard
"type-fest@npm:^0.6.0": "type-fest@npm:^0.6.0":
version: 0.6.0 version: 0.6.0
resolution: "type-fest@npm:0.6.0" resolution: "type-fest@npm:0.6.0"
@ -3409,6 +3658,13 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"varint@npm:^6.0.0":
version: 6.0.0
resolution: "varint@npm:6.0.0"
checksum: 7684113c9d497c01e40396e50169c502eb2176203219b96e1c5ac965a3e15b4892bd22b7e48d87148e10fffe638130516b6dbeedd0efde2b2d0395aa1772eea7
languageName: node
linkType: hard
"vite-hot-client@npm:^2.0.4": "vite-hot-client@npm:^2.0.4":
version: 2.0.4 version: 2.0.4
resolution: "vite-hot-client@npm:2.0.4" resolution: "vite-hot-client@npm:2.0.4"