Formidablejs: 1인 프레임
무서운 게 뭐야?
강력함(또는formidablejs)은 백엔드 응용 프로그램을 구축하는 데 사용되는 Laravel의 계발을 받은 API 프레임워크입니다.기본적으로 Imba가 사용되며 JavaScript 및 TypeScript에 대한 네이티브 지원이 있습니다.
Knowledge는 API 프로그램을 구축하는 데 매끄러운 과정을 제공하기 위한 것이지만, Inertia 과 Laravel Mix 은 '1인 프레임워크' 의 느낌을 제공하기 때문에 완전한 창고 프로그램을 구축할 수 있습니다.
Laravel의 많은 기능을 참고하여 엔진 덮개 아래에서 사용했다Fastify.
경외심을 불러일으키는 특징들
데이터베이스
강력한 회사는
SQL
조회와 Redis
에 대해 기존의 지원을 가지고 있다.SQL 데이터 계층은 Knex에서 지원합니다.Redis 데이터 레이어는 노드 Redis가 동력을 제공합니다.이사하다
'강력함'은 간단한 데이터베이스 이전 시스템을 제공하여 사용자가 데이터베이스 모델 정의를 정의하고 공유할 수 있도록 합니다.이것은 데이터베이스 모델이 시종 응용 프로그램 코드와 동기화되는 것을 확보하는 좋은 방법이다.
인증
강력한 성능
session
및 jwt
기반 어플리케이션을 위한 엔트리 레벨 인증 시스템을 제공합니다.기본적으로 session
기반 인증이 활성화됩니다.session
기반 인증 시스템은 cookies
를 사용할 수 있으며 세션 데이터를 memory
, file
또는 redis
에 저장할 수 있습니다.jwt
기반 인증 시스템은 JWT 영패를 사용하고 인증 데이터를 데이터베이스에 저장할 수 있다.경로
다른 프레임워크와 마찬가지로 루트는 이미 표준 기능이 되었다.라빌 공유기와 유사한 공유 시스템을 강력하게 제공했다.루트를 쉽게 그룹으로 나누어 특정한 중간부품에 제한할 수 있습니다.
오류 처리
모든 오류를 차단하고 다른 응답을 되돌릴 수 있는 강력한 오류 처리 프로그램 클래스가 있습니다.강력한 Bugsnag 기능도 제공됩니다.
CLI 도구
Craftman은 Professional과 함께 제공되는 명령줄 인터페이스입니다.Craftman은 모든 강력한 응용 프로그램에 글로벌 패키지로 설치되어 있다.응용 프로그램을 구축할 때 도움을 줄 수 있는 유용한 명령을 많이 제공합니다.
프로젝트 설정
첫 번째 작업은 CLI 도구를 설치하는 것입니다.
$ npm i -g @formidablejs/craftsman
CLI 설치가 완료되면 다음 명령을 실행합니다.$ craftsman new project-name --web
프로젝트 폴더에 cd 넣기:$ cd project-name
선택 사항: Vuejs 또는 React를 설치하려면 다음 명령을 실행합니다.$ craftsman inertia
$ npm run mix:dev
모든 작업이 완료되면 다음 명령을 사용하여 응용 프로그램에 서비스를 제공합니다.$ craftsman serve --dev
실행 후 브라우저에서 http://localhost:3000
로 이동하여 프로그램이 성공적으로 만들어졌는지 확인할 수 있습니다.다음을 확인해야 합니다.
프로젝트 구조
우리 프로젝트가 어떤 모양인지 봅시다.
번호부
묘사
/app
응용 프로그램의 핵심 코드를 포함합니다./app/Http/Controllers
응용 프로그램 컨트롤러를 포함합니다./app/Http/Middleware
요청 중간부품을 포함합니다./app/Http/Requests
양식 및 API 요청을 포함합니다./app/Http/Models
집bookshelf
모형./app/Http/Resolvers
응용 프로그램 서비스 분석 프로그램을 포함합니다./bootstrap/cache
캐시를 포함하는 프로필과 데이터베이스 설정 파일입니다./config
응용 프로그램 구성 파일을 포함합니다./database/migrations
어플리케이션 마이그레이션 파일을 저장합니다./public
이미지, JavaScript, CSS 등의 자산을 저장합니다./resources/lang
언어 파일을 포함합니다./resources/views
Imba 뷰 클래스 파일을 포함합니다./routes
응용 프로그램 라우트를 포함합니다./storage/framework
핵심 응용 프로그램 데이터를 포함합니다./storage/session
응용 프로그램 세션을 포함합니다.Note: in some cases, you might see more folders; This is dependent on the type of project you created.
데모
첫 번째 노선 만들기
새 라우트를 추가하려면
routes/web
라우팅 파일을 열고 라우팅 파일 아래쪽에 다음 행을 추가합니다.Route.get '/ping', do 'pong'
지금, 방문할 때 http://localhost:3000/ping
, 보아야 합니다. pong
컨트롤러 만들기
위 부분에서 노선을 만드는 방법을 보여 드리겠습니다.이제 디렉터를 만들어 경로에 매핑합니다.
$ craftsman make controller HelloController
만들면 app/Http/Controllers/HelloController
를 열 수 있으며 다음 코드를 볼 수 있습니다.import Controller from './Controller'
export class HelloController < Controller
이제 디렉터에 작업을 만듭니다.import Controller from './Controller'
export class HelloController < Controller
def index
'Hello World'
index
작업이 추가되면 routes/web
파일로 이동하여 새 컨트롤러를 가져올 수 있습니다.import { HelloController } from '../app/Http/Controllers/HelloController'
컨트롤러를 가져온 후 새 라우트를 추가하여 컨트롤러에서 만든 작업에 매핑할 수 있습니다.Route.get 'hello', [HelloController, 'store']
지금 방문Hello World
에서 보실 수 있을 것입니다http://localhost:3000/hello
For a fullstack demo application with crud operations see: https://github.com/donaldp/pingcrm
결론
강력함은 많은 유용한 특성을 제공하지만 안정적인 발표를 실현하려면 아직 갈 길이 멀다.이제 놀고 오류를 보고하고 가능하면 자신의 힘을 바치면 돼!
파일: https://formidablejs.org
Github:https://github.com/formidablejs
PingCRM 데모: https://github.com/donaldp/pingcrm
Reference
이 문제에 관하여(Formidablejs: 1인 프레임), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/donald/formidablejs-the-one-person-framework-mp9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)