AWS
CDK
projen
與現有的 templating/scaffolding tools 相反,projen不是一次性生成器。不應手動編輯各項設定擋,而是編輯 projen 提供的 .projenrc.js 來自動生成相關的各項設定擋。
npx projen
即可將設定同步至其他相關設定檔中實質上 Projen 就是一個套件管理工具,可以方便開發者快速設定各項並且方便各項專案快速複製
$ mkdir my-project
$ cd my-project
$ git init
$ npx projen new PROJECT-TYPE
🤖 Synthesizing project...
npx projen
自動處理 .projenrc.js 設定內容npx projen build
編譯 projen 並進行 testprojen projen upgrade
更新 dependenciesprojen projen upgrade-projen
更新 projenCDK 相關語法參考
cdkVersion: '1.130.0'
: 指定 CDK 版本minNodeVersion: '14'
: 指定最小 nodeJs 版本,githubOptions: {workflows: false}
:package.json
更名 package.json.bak
node_modules
package-lock.json
yarn.lock
projen
專案,npx projen new PROJECT-TYPE
package.json.bak
將套件做分類
cdkDependencies
cdkVersion
可以指定,如不確定可以透過指令 cdk version
查看cdkVersionPinning
需要設定成 true
src
目錄下
projen
主程式進入點為 main.ts
推薦可以將程式拆分比較好區隔npx projen build
compile 後的檔案會放到 lib
資料夾npx projen
會自動安裝 .projenrc.js 設定好的套件與生成相關設定檔package.json
與之前的設定差不多後即可移除 package.json.bak
***************************************************
*** Newer version of CDK is available [1.110.1] ***
*** Upgrade recommended ***
***************************************************
可以更新 .projenrc.js 中的 cdkVersion
來處理
cdkVersion
後執行 cdk deploy
時的錯誤This CDK CLI is not compatible with the CDK library used by your application. Please upgrade the CLI to the latest version.
(Cloud assembly schema version mismatch: Maximum schema version supported is 9.0.0, but found 12.0.0)
可透過更新本機 CDK library 來處理
npm install -g aws-cdk
Node.js
npm init
初始化一個 package.json
npm install typescript @types/node
npx tsc --init
package.json
、package-lock.json
、typescript.json
tsconfig.json
outDir
(Output directory) 後將其移除註解並改成 ./dist
(亦可改成其他資料夾)tsc
,編譯後的檔案就會出現在你指定的資料夾中了projen repo
Projen 初探 – 打造 CDK 的利器
pahud dev youtube
UPDATE CDK TO THE LATEST VERSION
【TypeScript】從頭建立屬於你的 TypeScript 專案