天天看點

使用腳本進行 SAP Spartacus 安裝工作

Test the Spartacus installation with schematics on Windows

本文介紹詳細步驟。

首先使用指令行安裝 verdaccio:

Install verdaccio $ npm i -g verdaccio@4 (only for the first time)

Verdaccio 是一個簡單的、零配置要求的本地私有 NPM 系統資料庫。 不需要整個資料庫就可以開始。 Verdaccio 開箱即用,帶有自己的小型資料庫,并且能夠代理其他系統資料庫(例如 npmjs.org),還引入了緩存下載下傳子產品的功能。 對于那些希望擴充其存儲能力的人,Verdaccio 支援各種社群制作的插件來連接配接到服務,例如 Amazon 的 S3、Google Cloud Storage 或建立自己的插件。

使用腳本進行 SAP Spartacus 安裝工作

使用下面的指令行添加新使用者:

使用腳本進行 SAP Spartacus 安裝工作

npm adduser --registry http://localhost:4873

這樣,之後安裝 Spartacus 需要拖取依賴包時,可以從本地 verdaccio 資料庫裡讀取内容,而無需通過網絡讀取。

錯誤1:lsof command not found

lsof 指令用來檢查 verdaccio 是否已經正在運作了:

verdaccio 用來注冊新使用者,完成之後需要結束該程序。

上面腳本的含義是,把 lsof 指令的結果存到變量 VERDACCIO_PID 裡,然後檢查該變量是否不為空。

-n 操作檢測後面的操作數是否為空。

if [ ! -n “$1” ] 的含義是,檢查第一個參數是否為空。-n 不為空,再用感歎号加個反,表示空。

等價于:

[ -z "$1" ]

1

-z 檢測第一個輸入參數是否為空。

$1 $2 代表第一個和第二個輸入參數,例如下面的 shell 腳本:

./foo bar baz

則 $1 為 bar,$2 為 baz

An unhandled exception occurred: EPERM: operation not permitted, open 'C:\Users\I042416.angular-config.json

在管理者模式下運作還是報同樣的錯誤。

也就是說,單獨執行這個指令都會報錯:

npm i -g @angular/[email protected]

結果打臉了,單獨執行上面的指令可以。這真是怪事。

還是老問題,把這個 .angular-config.json 檔案的隐藏屬性去掉即可:

解決了這個問題之後,就開始 build 了:

成功安裝:

The installation will create two folders in the $BASE_DIR directory:

apps (generated/executable apps)

clone (cloned Spartacus repo)

FESM2015

UMD

開始建構了:

建構結果:

執行的是這些 ng build 指令:

這裡多了一個 Schematics build:

這個綠色的方框正好隻比包裹在裡面的字元串多兩個字元:

通過 printh 函數實作:

publish 到一個私有的 npm 倉庫去,然後從這個私有的倉庫下載下傳庫檔案進行 shell app 的安裝:

shell app 的安裝,在 create_apps 函數裡完成:

本地存儲的定義:

本地 library:

可以解壓檢視這些本地 library 内容:

完整的源代碼: