Mojolicious 경로 구성
기본 구조는 (문서에서 제거됨 - Growing )
myapp # Application directory
|- script # Script directory
| +- my_app # Application script
|- lib # Library directory
| |- MyApp.pm # Application class
| +- MyApp # Application namespace
| +- Controller # Controller namespace
| +- Example.pm # Controller class
|- my_app.yml # Configuration file
|- t # Test directory
| +- basic.t # Random test
|- log # Log directory
| +- development.log # Development mode log file
|- public # Static file directory (served automatically)
| +- index.html # Static HTML file
+- templates # Template directory
|- layouts # Template directory for layouts
| +- default.html.ep # Layout template
+- example # Template directory for "Example" controller
+- welcome.html.ep # Template for "welcome" action
MyApp.pm은 경로, 앱 설정 및 플러그인을 정의하는 핵심 파일입니다. 내 앱을 성장시키면서 해당 pm 파일이 경로를 포함하여 매우 커졌고(200줄 이상) 무언가를 해야 했습니다. 프로젝트가 커지면 경로에 플러그인을 사용하는 것이 가장 좋다는 개발자의 말을 읽은 것을 기억합니다.
Route > user.pm이라는 lib 아래에 폴더와 파일을 만들었습니다.
나는 일반적으로 이 패턴을 따르므로 내 URL이/user/lookup인 경우
내 모든/user 경로를 처리할 Route/user.pm이라는 경로 파일이 있습니다.
다음은 플러그인의 모습입니다.
lib/MyApp/route/user.pm 아래
package MyApp::Route::User;
use Mojo::Base 'Mojolicious::Plugin', -signatures;
sub register ($self, $app, $r) {
$r->get('/user/lookup')->to('user#lookup');
}
1;
이제 lib 아래의 MyApp.pm에 추가합니다.
my $r = $self->routes; #this should be somewhere already in the pm file.
$self->plugin('MyApp::Route::User', $r);
이렇게 하면 MyApp.pm에서 수많은 줄이 제거되고 작업이 필요할 때 경로를 쉽게 찾을 수 있습니다.
Reference
이 문제에 관하여(Mojolicious 경로 구성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/scotticles/organizing-mojolicious-routes-2pic텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)