2023年1月3日 星期二

AdonisJs第一天:Node.js版的Laravel

AdonisJs第一天,創建專案,夢想啟航

前情提要

約莫在Laravel6時期,小編還是php的小白,當時連laravel的中文書在市場上數量一隻手都數得完,剛踏入社會想著什麼都要自幹來磨練心法,後來終於意識到自己這樣慢慢磨練何時才是個頭,人生何其短,當有一定基礎後當然要站在巨人的肩膀上才看得遠,於是把市面上所有的Laravel中文書掃回家後啃了個遍。只是都還沒機會用到實際專案,便因為職涯規劃轉戰了前端工程,只有偶爾工作需要兼寫一下後端。此時我便開始思考,既然都要寫js那後端也選用Node.js好了,不僅自帶server,效能也較好(當時php7剛出)。寫了一陣子之後,發現Node.js雖然套件很多,但缺乏整合,多數時候還是要自己造輪子。於是突發奇想,會不會這麼剛好有大神開發了Node.js版的laravel框架呢?於是便開始AdonisJs這段旅程,至於為什麼身為一位前端工程師卻要來分享後端框架,那又是另外一個故事了。


勸退

Adonisjs的受歡迎程度在老實說不是名列前茅(2022年約第十名左右),甚至上網查連中文介紹都沒有(所意味著你出問題也只能看英文,但不至於你遇到的問題別人都沒遇到,至少我目前還不至於),但卻是我用起來覺得開發體驗最舒服的,特別是在我體驗過近幾年最火的框架,跟最多人用的框架後(不能說名字會被黑==),這也是我為什麼要花這麼多時間寫網誌來介紹這個框架(有看我前幾篇網誌的人應該知道,看心情更新,小編是很懶的人)。如果你跟小編一樣在意開發體驗,不在意是否社群是前幾名受歡迎,歡迎你一起加入這班車。


前置作業

請先安裝好Node.js, npm

Node.js version latest14


創建初始專案

npm init adonis-ts-app@latest [project-name]

依照你的需求可以選擇

api:不安裝view相關套件

slim:除了核心套件其他都不安裝

web:一般前後端開發

AdonisJs的前端可以使用Edge或pug語法來開發,就好像Laravel用blade語法來開發畫面一樣,不過通常我只拿來開發api,所以我們選擇api

剩下的專案名稱,是否要用eslint,就一個人開發習慣使用


cli(指令)

cli可以說是AdonisJs非常重要的一環,大部分的行為都可以,甚至是必須要用cli來執行,所以請好好的學習。

AdonisJs5之後把所有指令封裝載ace檔案裡面,指令如下,node ace,就好像Laravel用php artisan一樣,實際有的指令也會在套件安裝後增加,目前因為專案剛建立只有幾個比較基本的,執行結果如下


看到很多看不懂的指令沒關係,我們先了解幾個基本的

generate:key:產生新的app key,key會放在.env裡,初始會自動產生,參與資料的加解密

serve:開發模式

build:打包

這時我們下指令 node ace serve --watch 或 npm run dev就可以把專案在本機run起來了

這時開啟瀏覽器http://127.0.0.1:3333就可以看到初始的api

3333的port號如果被佔用或想要修改,可以藉由修改.env的PORT進行調整


小記

以上就建好一個初始專案並在本地run起來了,距離百萬年薪只差一小步了是不是很興奮啊!

剩下我們明天待續...吧


官網:https://docs.adonisjs.com/guides/introduction

沒有留言:

張貼留言