介紹
feathers是一個輕量級的Web框架,在Github上相當受歡迎,stars數高達12.6k+,開源遵循MIT License,feathers使用JavaScript或TypeScript建立實時應用程式和REST api。Feathers可以與任何後端技術互動,支援超過12個數據庫,與任何前端技術如React、VueJS、Angular、React Native、Android或iOS一起進行開發。
Githubhttps://github.com/feathersjs/feathers
feathers有何與眾不同?JavaScript和TypeScript構建使用最新的語言特性,Feathers是一個小的庫,它提供了建立複雜應用程式的結構,但又足夠靈活,不會妨礙開發。
靈活的外掛擁有大量外掛生態系統
多資料庫支援Feathers為12個以上的資料庫提供了現成的介面卡。可以在一個應用程式中擁有多個數據庫,並且由於一致的查詢介面,可以毫不費力地將它們協同起來。
相容性好Feathers可以用同樣的方式在伺服器上使用Node.js,在瀏覽器框架中使用React、Angular、VueJS,或者在移動裝置上使用React Native。
面向服務的模式Feathers從一開始就提供了構建面向服務的應用程式的結構。當你最終需要將你的應用分解成微服務時,很容易過渡。
即時實時REST apiFeathers通過服務提供即時CRUD功能,通過websockets自動公開RESTful API和實時後端
建立第一個應用$ npm install -g @feathersjs/cli# yarn global add @feathersjs/cli$ mkdir my-app$ cd my-app$ feathers generate app$ npm start# yarn start
下面建立一個帶有簡單訊息服務的Feathers應用程式,該服務允許建立新訊息並查詢所有現有訊息
const feathers = require('@feathersjs/feathers');const app = feathers();// 允許建立新訊息的訊息服務// 並返回所有現有的訊息class MessageService { constructor() { this.messages = []; } async find () { // 只要返回我們所有的資訊 return this.messages; } async create (data) { // 新訊息是帶有唯一識別符號的合併資料 // 使用訊息長度,因為只要我們新增一個訊息,它就會改變 const message = { id: this.messages.length, text: data.text } // 向列表中新增新訊息 this.messages.push(message); return message; }}// 在Feathers應用程式上註冊訊息服務app.use('messages', new MessageService());// 每次建立新訊息時記錄日誌app.service('messages').on('created', message => { console.log('A new message has been created', message);});// 建立新訊息並記錄日誌的函式// 所有現有的訊息const main = async () => { // 在訊息服務上建立一個新訊息 await app.service('messages').create({ text: 'Hello Feathers' }); await app.service('messages').create({ text: 'Hello again' }); // 查詢所有現有訊息 const messages = await app.service('messages').find(); console.log('All messages', messages);};main();
總結詳細的使用以及開發流程可以參考詳細的官方文件,包括授權、安全性、單元測試、服務等等,對JavaScript和Typescript以及Web開發感興趣的小夥伴們不要錯過啦!
最新評論