網(wǎng)站開發(fā)量計算百度一下你就知道移動官網(wǎng)
Monorepo uniapp?
構(gòu)建靈感:剛好要做一個項目,于是想到升級一下之前自己寫的一個vue3+ts+pinia+uno的模版框架,其實那個框架也不錯;只是感覺還差點東西,我已經(jīng)用那個小框架寫了兩三個項目;輕巧實用。為什么選擇去基于vben3構(gòu)建uniapp 的monorepo架子,主要還是熱愛,想去探索,去感受一下前沿的一些技術(shù);生命在于折騰。
uni-app Vue3 + TypeScript + Vite + Pinia + Unocss 模板項目
uniapp-ts-unocss-pinia-vue3-demo 項目代碼https://gitee.com/ggbhack/uniapp-ts-unocss-pinia-vue3-demo.git用它做過的項目:
【把貨】小程序
【賽客定位】小程序
【游記】h5
monorepo-uniapp項目代碼倉庫https://gitee.com/ggbhack/monorepo-uniapp.git以上兩個項目,喜歡研究的朋友也可以拿去自己改造改造;
vben3 參考基礎(chǔ)https://vbenjs.github.io/vben3-doc/
項目架構(gòu)搭建中
---
- [x] vite-config
- [x] ts-config
- [x] unocss 樣式
- [x] pinia 狀態(tài)管理
- [x] env 環(huán)境變量
- [x] uview-plus ui庫
- [x] mescroll-uni 刷新組件
- [x] lint-staged 提交前校驗
- [x] pinia 緩存
還有一些其他的就不列出來;
---
以下遇到的問題匯總
為什么 uni-app (vue3) 和 @vueuse/core v10 一起用會報錯?參考https://juejin.cn/post/7308899425149042739
function createMockComponent(name) {return {setup() {throw new Error(`[vue-demi] ${name} is not support vue2`)},}}export var TransitionGroup = /*__PURE__*/ createMockComponent('TransitionGroup')
Error: module 'common/side-channel.js' is not defined, require args is 'side-channel'https://ask.dcloud.net.cn/question/177458
qs版本問題,換成6.5.3或其他版本試試
[uniapp 封裝axios adapter 運行到小程序報錯 Module not found: Error: Package path ./lib/core/settle is not exported from package D:\xxx\xxx\n..https://www.jianshu.com/p/d1d6e0751d97
更換axios的版本為 "axios": "^0.26.1"
多語言打包小程序無效
換一種方式引入
import zh_CN from './lang/zh_CN'import en from './lang/en'// 這里改用另外一種方式// const defaultLocal = await import(`./lang/${locale}.ts`);// const message = defaultLocal.default?.message ?? {};const messages: Record<string, any> = {en,zh_CN}// // const defaultLocal = zh_CN;// const message = defaultLocal ?? {};const message = messages[locale].message ?? {}
改造 getAppConfig
// 打包微信小程序報錯 __PRODUCTION__VBEN_ADMIN__ 報錯無法讀取function getAppConfig(env: Record<string, any>) {// const ENV_NAME = getAppConfigFileName(env)// const ENV = (// env.DEV// ? // Get the global configuration (the configuration will be extracted independently when packaging)// env// : window[ENV_NAME]// ) as GlobEnvConfigconst ENV = env as GlobEnvConfig// console.log(env,env.DEV)const { VITE_GLOB_APP_SHORT_NAME } = ENVif (!/^[a-zA-Z\_]*$/.test(VITE_GLOB_APP_SHORT_NAME)) {console.warn(`VITE_GLOB_APP_SHORT_NAME Variables can only be characters/underscores, please modify in the environment variables and re-running.`,)}return ENV}
unocss 打包小程序 樣式報錯多一個 \
固定unocss的版本號 - 后續(xù)看能不能解決控制臺的警告
{"unocss": "^0.51.8","unocss-preset-weapp": "^0.2.1"}
[uniapp 的緩存處理 參考]https://blog.csdn.net/weixin_43191327/article/details/134071863
在構(gòu)建的過程中我移除了一些不必要的依賴包,當然還留了一些;具體可以看對應的代碼;
這是我花了幾天時間運行完之后的樣子;可能還存在一些其他的問題,后續(xù)在慢慢的優(yōu)化。
還是那句話:
一行動,就創(chuàng)新
一具體,就深刻
一困惑,就上網(wǎng)