uni-app vue-cli命令行
除了HBuilderX可視化界面,也可以使用 cli 腳手架,可以通過 vue-cli 創建 uni-app 項目。
- 環境安裝
全局安裝vue-cli
npm install -g @vue/cli
- 創建uni-app
使用正式版(對應HBuilderX最新正式版)
vue create -p dcloudio/uni-preset-vue my-project
使用alpha版(對應HBuilderX最新alpha版)
vue create -p dcloudio/uni-preset-vue#alpha my-alpha-project
此時,會提示選擇項目模板,初次體驗建議選擇 hello uni-app 項目模板
- 自定義模板
選擇自定義模板時,需要填寫 uni-app 模板地址,這個地址其實就是托管在雲端的倉庫地址。以 GitHub 為例,地址格式為 userName/repositoryName,如 dcloudio/uni-template-picture 就是下載圖片模板。
- 運行並發布uni-app
npm run dev:%PLATFORM%
npm run build:%PLATFORM%
%PLATFORM% 可取值如下:
可以自定義更多條件編譯平台,比如釘釘小程序,參考package.json文檔。
-
其他:
-
目前使用npm run build:app-plus會在/dist/build/app-plus下生成app打包資源。如需制作wgt包,需要手動壓縮成zip包修改后綴為wgt。
-
dev 模式編譯出的各平台代碼存放於根目錄下的 /dist/dev/目錄,打開各平台開發工具選擇對應平台目錄即可進行預覽(h5 平台不會在此目錄,存在於緩存中);
-
build 模式編譯出的各平台代碼存放於根目錄下的 /dist/build/ 目錄,發布時選擇此目錄進行發布;
-
dev 和 build 模式的區別:
-
dev 模式有 SourceMap 可以方便的進行斷點調試;
-
build 模式會將代碼進行壓縮,體積更小更適合發布為正式版應用;
-
進行 環境判斷 時,dev 模式 process.env.NODE_ENV 的值為 development,build 模式 process.env.NODE_ENV 的值為 production。
-
使用cli創建項目和使用HBuilderX可視化界面創建項目有什么區別
-
編譯器的區別
-
cli創建的項目,編譯器安裝在項目下。並且不會跟隨HBuilderX升級。如需升級編譯器,執行npm update。
-
HBuilderX可視化界面創建的項目,編譯器在HBuilderX的安裝目錄下的plugin目錄,隨着HBuilderX的升級會自動升級編譯器。
-
已經使用cli創建的項目,如果想繼續在HBuilderX里使用,可以把工程拖到HBuilderX中。注意如果是把整個項目拖入HBuilderX,則編譯時走的是項目下的編譯器。如果是把src目錄拖入到HBuilderX中,則走的是HBuilderX安裝目錄下plugin目錄下的編譯器。
-
cli版如果想安裝less、scss、ts等編譯器,需自己手動npm安裝。在HBuilderX的插件管理界面安裝無效,那個只作用於HBuilderX創建的項目。
-
-
開發工具的區別
-
cli創建的項目,內置了d.ts,同其他常規npm庫一樣,可在vscode、webstorm等支持d.ts的開發工具里正常開發並有語法提示。
-
使用HBuilderX創建的項目不帶d.ts,HBuilderX內置了uni-app語法提示庫。如需把HBuilderX創建的項目在其他編輯器打開並且補充d.ts,可以在項目下先執行 npm init,然后npm i @types/uni-app -D,來補充d.ts。
-
但vscode等其他開發工具,在vue或uni-app領域,開發效率比不過HBuilderX。詳見:https://ask.dcloud.net.cn/article/35451
-
發布App時,仍然需要使用HBuilderX。其他開發工具無法發布App,但可以發布H5、各種小程序。如需開發App,可以先在HBuilderX里運行起來,然后在其他編輯器里修改保存代碼,代碼修改后會自動同步到手機基座。
-
如果使用cli創建項目,那下載HBuilderX時只需下載10M的標准版即可。因為編譯器已經安裝到項目下了。
-