ExpressWebJs 4가 출시되었습니다!
13554 단어 expresswebjsnodetypescriptapi
처리.
Optional( )
, ObjectMapper( )
, 와 같은 새로운 유틸리티 기능FirstCharacterToLowerCase( )
, Group( )
, ObjectHasProperty( )
. 구조와 알고리즘.
ExpressWebJs uses a variety of community driven packages for a number of features in the framework.
ExpressWebJs 버전 4는 2023년 11월까지 버그 수정을, 2024년 2월까지 보안 수정을 받을 예정입니다. 자세히 다룬 기능 중 일부는 다음과 같습니다.
SQL 데이터베이스 모델에 대한 몇 가지 관계 추가 기능을 추가했습니다.
관계 매핑 방법에는 이제 추가 옵션도 허용하는 새로운
hasMany
, belongsTo
, hasOne
, hasOneThrough
, hasManyThrough
방법과의 관계를 처리하는 좋은 방법이 있습니다.hasManyThrough()
export class UserModel extends Model {
static tableName = "users";
id!: string;
name!: string;
email!: string;
password!: string;
static relationMappings() {
return {
carOwner: this.hasManyThrough("App/Model/Cars_model",
"App/Model/CarOwners_model", {
join_final_foreign_key: "user_id",
join_parent_foreign_key: "car_id",
}),
};
}
}
hasOneThrough()
export class UserModel extends Model {
static tableName = "users";
id!: string;
name!: string;
email!: string;
password!: string;
static relationMappings() {
return {
carOwner: this.hasOneThrough("App/Model/Cars_model",
"App/Model/CarOwners_model", {
join_final_foreign_key: "user_id",
join_parent_foreign_key: "car_id",
}),
};
}
}
hasOne()
export class UserModel extends Model {
static tableName = "users";
id!: string;
first_name!: string;
last_name!: string;
email!: string;
password!: string;
static relationMappings() {
return {
profile: this.hasOne("App/Model/Profile_model"),
};
}
}
많이있다()
export class UserModel extends Model {
static tableName = "users";
id!: string;
first_name!: string;
last_name!: string;
email!: string;
password!: string;
static relationMappings() {
return {
profile: this.hasMany("App/Model/Cars_model"),
};
}
}
속해()
export class Posts extends Model {
static tableName = "posts";
id!: string;
name!: string;
user_id!: string;
static relationMappings() {
return {
users: this.belongsTo("App/Model/Users_model"),
};
}
}
관계 필터
관계 매핑에 몇 가지 필터를 추가할 수도 있습니다.
static relationMappings() {
return {
profile: this.hasMany("App/Model/Cars_model",{
filter: (builder) => {
builder.where("name", "Mercedes");
},
}),
};
}
일부 경로 기능도 추가됩니다.
루트 매치
경우에 따라 여러 HTTP 동사에 응답하는 경로를 등록해야 할 수도 있습니다. 일치 방법을 사용하여 그렇게 할 수 있습니다. 또는 all 메소드를 사용하여 모든 HTTP 동사에 응답하는 경로를 등록할 수도 있습니다.
Route.match(["get", "post"], "/books",
"UserController@process");
경로 리디렉션
다른 URI로 리디렉션되는 경로를 정의하는 경우 경로 리디렉션 방법을 사용할 수 있습니다. 이 방법은 편리한 바로 가기를 제공하므로 이 작업을 수행하기 위해 전체 경로 또는 컨트롤러를 정의할 필요가 없습니다.
Route.redirect("source_url", "destination_url");
ExpressWebJs 웹 사이트에서 새 기능 및 업데이트의 전체 목록을 볼 수 있습니다.
친절하게 따르십시오.
github에 별표 표시하는 것을 잊지 마십시오.
discord 채널에 가입할 수도 있습니다.
Reference
이 문제에 관하여(ExpressWebJs 4가 출시되었습니다!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/alexigbokwe/expresswebjs-4-is-now-released-37bp텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)