2018/10/19css
當前(2018-10)給前端貢獻代碼時,環境變成了yarn來控制依賴,如何操做?html
需求前端
Docker Node.js >= 6 yarn
構建
克隆代碼:git
$ git clone https://github.com/portainer/portainer.git $ cd portainer yarn解決依賴:
$ yarn
yarn構建:github
$ yarn build
yarn啓動:golang
$ yarn dev
訪問: http://localhost:9000docker
提示後端
當有代碼文件變動發生時 (app/*/.js, assets/css/app.css or index.html),前端頁面會自動更新,此時刷新瀏覽器便可api
提醒瀏覽器
別忘了要 lint 代碼:
$ yarn grunt lint
默認是經過一個 golang 鏡像來構建後端代碼,若是有網絡問題,將致使構建失敗,最終影響前端的運行,怎麼處理?
假設不能解決網絡問題,則去 releases 下載對應版本的 binary
存放到 Portainer
代碼根目錄的 dist/
目錄下,而後註釋如下內容來跳過構建操做:
build/build_in_container.sh
(略) #docker run --rm -tv "$(pwd)/api:/src" -e BUILD_GOOS="$1" -e BUILD_GOARCH="$2" portainer/golang-builder:cross-platform /src/cmd/portainer #mv "api/cmd/portainer/$binary" dist/ (略)
#!/usr/bin/env bash exit 0 (略)
而後再去執行前端操做便可。
不足
portainer 理應提供 golang 代碼的依賴解決方案(dep, go.mod等)來保證構建環境的一致性(我嘗試補充,但不清楚依賴的版本,未能解決)。
一、doc
https://portainer.readthedocs.io/en/stable/contribute.html