채용 공고 웹사이트: 로그인 페이지 구축
19872 단어 opinejavascriptreactwebdev
목차
Sokhavuth TIN ・ 8월 11일 ・ 2분 읽기
GitHub: https://github.com/Sokhavuth/opine-job
데노 배치: https://khmerweb-job.deno.dev/users
Deno 호스팅 플랫폼 "Deno Deploy"는 React 템플릿 엔진 및 React와 유사한 다른 템플릿 엔진만 지원하므로 Nano JSX를 템플릿 엔진으로 사용하여 애플리케이션에 대한 모든 종류의 HTML 페이지를 빌드할 수 있습니다. Nano JSX를 사용하려면 deps.ts 모듈 내부의 패키지 목록에 이 패키지에 대한 링크를 포함해야 합니다.
// deps.ts
export {
dirname,
fromFileUrl,
join,
} from "https://deno.land/[email protected]/path/mod.ts";
export {
json,
opine,
Router,
serveStatic,
urlencoded,
} from "https://deno.land/x/[email protected]/mod.ts";
export { config } from "https://deno.land/[email protected]/dotenv/mod.ts";
export { Bson, MongoClient } from "https://deno.land/x/[email protected]/mod.ts";
export { connect } from 'https://deno.land/x/[email protected]/mod.ts';
export { OpineSession, RedisStore } from "https://deno.land/x/[email protected]/mod.ts";
export { h, renderSSR } from "https://deno.land/x/[email protected]/mod.ts";
로그인 페이지를 구축하려면 다음과 같이 해야 합니다.
// views/users/login.jsx
/** @jsx h */
import { h, renderSSR } from "../../deps.ts";
import Base from "../base.jsx";
function LoginJsx(props){
return(
<section class="Login" >
<link rel="stylesheet" href="/css/users/login.css" />
<div class="wrapper">
<div class="title">Log into the Dashboard</div>
<form action="/login" method="post" >
<a>Email:</a><input type="email" name="email" value="[email protected]" required />
<a>Password:</a><input type="password" name="password" value="rdagfyhows" required />
<a></a><input type="submit" value="Submit" />
<a></a><div class="info">{props.data.message}</div>
</form>
</div>
</section>
)
}
export default function Login(props){
props.page = LoginJsx;
const html = renderSSR(<Base data={props} />);
return `<!DOCTYPE html>${html}`;
}
// views/base.jsx
/** @jsx h */
import { h } from "../deps.ts";
export default function Base(props){
const Page = props.data.page;
return(
<html>
<head>
<meta charSet="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>{props.data.site_title} | {props.data.page_title}</title>
<link href="/images/siteLogo.png" rel="icon" />
<link href="/css/style.css" rel="stylesheet" />
<link href="/fonts/setup.css" rel="stylesheet" />
<script src="/js/jquery.js"></script>
</head>
<body>
<Page data={props.data} />
</body>
</html>
)
}
/* public/css/users/login.css */
.Login{
width: 400px;
margin: 100px auto 0;
}
.Login .wrapper{
background: var(--background);
margin-bottom: 10px;
}
.Login .title{
text-align: center;
font: 20px/1.5 StardosStencil, Limonf3;
padding: 5px;
border-bottom: 1px solid lightgrey;
}
.Login form{
padding: 20px;
display: grid;
grid-template-columns: 20% auto;
grid-gap: 5px;
align-items: center;
}
.Login form a{
text-align: right;
color: black;
}
.Login form input{
font: var(--body-font);
padding: 2px 5px;
}
.Login form .info{
text-align: center;
font: var(--body-font);
}
/* public/css/style.css */
:root{
--background-light: lightgrey;
--background: lavender;
--background-dark: #272727;
--body-font: 14px/1.5 Vidaloka, OdorMeanChey;
--link: lavender;
--color: black;
}
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
a{
text-decoration: none;
color: var(--link);
}
a:hover{
opacity: .7;
}
.region{
max-width: 1100px;
margin: 0 auto;
}
body{
color: var(--color);
font: var(--body-font);
background: var(--background-light);
}
Reference
이 문제에 관하여(채용 공고 웹사이트: 로그인 페이지 구축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/sokhavuth/job-announcement-website-building-login-page-3780텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)