채용 공고 사이트: 환경 변수 및 데이터베이스
13421 단어 opinejavascriptreactwebdev
목차
Sokhavuth TIN ・ 8월 11일 ・ 2분 읽기
GitHub: https://github.com/Sokhavuth/opine-job
Deno 배포: https://khmerweb-job.deno.dev
Opine 웹 프레임워크는 Node.js 환경에서 Express 프레임워크의 정확한 복사본입니다. 따라서 Express.js 사용에 대한 충분한 경험이 있다면 Opine 웹 프레임워크를 사용하는 데 아무런 문제가 없을 것입니다.
프로젝트를 생성할 때 Opine CLI는 애플리케이션 구축을 시작하기 위한 최소 요구 사항을 구축합니다. 그러나 애플리케이션이 완전한 채용 공고 웹사이트가 되기 위해 필요한 기능을 갖추려면 단계적으로 더 많은 파일을 추가해야 합니다.
또한 데이터베이스에 데이터를 저장하려면 데이터베이스 서버에 계정이 있어야 합니다. 그리고 학습을 위해 MongoDB Atlas를 기본 데이터베이스로 사용하여 다양한 데이터를 저장할 수 있습니다. 무료 데이터베이스 계정을 가지려면 https://www.mongodb.com/atlas/database 웹 사이트로 이동하여 MongoDB Atlas에 가입할 수 있습니다. 또한 애플리케이션 세션과 관련된 데이터를 저장하기 위해 Redis를 경량 데이터베이스로 사용할 것입니다. https://redis.com/에서 무료 Redis 데이터베이스 계정에 가입할 수 있습니다.
마지막으로 MongoDB 및 Redis 데이터베이스를 사용하려면 예를 들어 루트 디렉터리에 있는 "setting.js"라는 파일에 필요한 코드를 작성하여 응용 프로그램을 시작할 때 해당 데이터베이스에 응용 프로그램을 연결해야 합니다.
// app.ts
import {
dirname,
fromFileUrl,
join,
json,
opine,
serveStatic,
urlencoded,
} from "./deps.ts";
import indexRouter from "./routes/index.ts";
import usersRouter from "./routes/users.ts";
const app = opine();
import { setting, mydb, myredis } from "./setting.js";
app.use(async (req, res, next) => {
req.mydb = await mydb;
req.myredis = await myredis;
req.mysetting = await setting;
next();
});
const __dirname = fromFileUrl(dirname(import.meta.url));
// Handle different incoming body types
app.use(json());
app.use(urlencoded());
// Serve our static assets
app.use(serveStatic(join(__dirname, "public")));
// Mount our routers
app.use("/", indexRouter);
app.use("/users", usersRouter);
export default app;
// setting.js
function setting(){
const configure = {
site_title: "Ever Job",
page_title: "Home",
message: "",
dasPostAmount: 10,
homePostAmount: 12,
}
return configure
}
import { config } from "./deps.ts";
await config({export: true});
import { MongoClient } from "./deps.ts";
const client = await new MongoClient();
await client.connect(Deno.env.get('DATABASE_URI'));
const mydb = client.database(Deno.env.get('DB_NAME'));
import { connect } from "./deps.ts"
const myredis = await connect({
hostname: Deno.env.get('REDIS_URI'),
port: parseInt(Deno.env.get('REDIS_PORT')),
password: Deno.env.get('REDIS_PASSWORD'),
});
export { setting, mydb, myredis }
// 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';
// .env
SECRET_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
DATABASE_URI=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
DB_NAME=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
REDIS_URI=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
REDIS_PASSWORD=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
REDIS_PORT=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Reference
이 문제에 관하여(채용 공고 사이트: 환경 변수 및 데이터베이스), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/sokhavuth/job-announcement-website-environment-variable-database-2jg1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)