Storybook?7.0?Beta?Vue3踩坑解決記錄
故事背景
基于 Vue + Vite + TS
結(jié)合 pnpm
的一個 monorepo
項目的組件庫文檔編寫,起初個人是比較傾向于直接使用全家桶系列的 VitePress
。無奈公司中其他庫文檔均使用 Storybook
,并且已經(jīng)升級到最新版本。
好吧,到這里就基本知道了自己要做什么了。
由于之前也沒有接觸過這個玩意兒,就去看著官網(wǎng)一步步操作去了??右簿驮谶@里了,誰知道版本上去了,文檔卻沒有做出相應(yīng)的調(diào)整。然后就有了后續(xù)一系列的問題。Storybook 7.0 下載
坑一:
不要按照官網(wǎng)的下載指令一步步操作,因為這樣最終會下載 6.5 穩(wěn)定版
# 錯誤安裝方式 npx storybook init npx sb init # 正確安裝方式 npx storybook@next init npx sb@next init
坑二:
不要查找 vite
的創(chuàng)建項目方式,使用一些不明所以的命令。Storybook
會根據(jù)你項目技術(shù)棧創(chuàng)建出對應(yīng)的腳手架
# 錯誤命令 npx sb init --builder @storybook/builder-vite npx storybook init --builder vite
坑三:
7.0 的版本不要在 monorepo
的項目中創(chuàng)建除非是在根目錄
?ERR_PNPM_ADDING_TO_ROOT? Running this command will add the dependency to the workspace root, which might not be what you want - if you really meant it, make it explicit by running this command again with the -w flag (or --workspace-root). If you don't want to see this warning anymore, you may set the ignore-workspace-root-check setting to true. An error occurred while installing dependencies. ?ERROR? Command failed with exit code 1: /Users/a1234/Library/pnpm/store/v3/tmp/dlx-36847/node_modules/.bin/storybook init --package-manager=pnpm
so 我的解決方案就是創(chuàng)建一個 vite
的項目,然后在這個項目中去初始化 Storybook
然后將相關(guān)的命令、文件夾及 devDependencies
中相關(guān)的包全部 cv
到對應(yīng)的子項目中重新下載依賴即可使用。
具體操作如下:
pnpm create vite myApp --template vue-ts
創(chuàng)建vite
項目,隨后安裝依賴。pnpx storybook@next init --package-manager=pnpm
- 將
package.json
中關(guān)于Storybook
的內(nèi)容進行cv
,包括scripts
中的兩條指令,devDependencies
中的一些包,項目中的兩個目錄。 - 復(fù)制到對應(yīng)的
monorepo
的子項目中,刪除子項目原有的node_modeules
重新執(zhí)行pnpm install
即可。
注意:
- 不要嘗試使用
--type vue3
類似的指令創(chuàng)建對應(yīng)的項目,大概率不會成功。 Storybook
默認使用yarn
作為包管理工具,如果想要切換執(zhí)行指令時末尾增加--package-manager=pnpm
總結(jié)
目前來看經(jīng)過上面一系列的摸索過后,本地測試,打包都沒有什么問題,就看后續(xù)部署了。如果后續(xù)在使用過程中碰到其他問題也會持續(xù)在這里進行更新。
以上就是Storybook 7.0 Beta Vue3踩坑隨筆的詳細內(nèi)容,更多關(guān)于Storybook 7.0 Beta Vue3的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Vue中的transition封裝組件的實現(xiàn)方法
這篇文章主要介紹了Vue中的transition封裝組件的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08淺析Vue3中Excel下載模板并導(dǎo)入數(shù)據(jù)功能的實現(xiàn)
這篇文章主要為大家詳細介紹了Vue3中的Excel數(shù)據(jù)管理,即下載模板并導(dǎo)入數(shù)據(jù)功能的實現(xiàn),文中的示例代碼講解詳細,感興趣的小伙伴可以參考一下2024-05-05使用Vue Router進行路由組件傳參的實現(xiàn)方式
Vue Router 為 Vue.js 應(yīng)用提供了完整的路由解決方案,其中包括了組件間的數(shù)據(jù)傳遞功能,通過路由組件傳參,我們可以輕松地在導(dǎo)航到新頁面時傳遞必要的數(shù)據(jù),本文將深入探討如何使用 Vue Router 進行路由組件間的傳參,并通過多個示例來展示其實現(xiàn)方式2024-09-09