Flare-k

Connecting Server

{
"presets": ["@babel/preset-env"]
}
/*
원하는 node.js와 JS와 관련된 모든 설정을 집어넣는다.
파일은 Babel을 설정하는 곳이다. Babel이 실행되기 전에 파일을 찾아보고
설정해둔 Preset을 읽고 이해한다. Preset에 따라 변환한다.
*/
\ No newline at end of file
import "@babel/polyfill";
import dotenv from "dotenv";
import express from "express";
import morgan from "morgan";
import helmet from "helmet";
import cookieParser from "cookie-parser";
import bodyParser from "body-parser";
import mongoose from "mongoose";
import session from "express-session";
import flash from "express-flash";
import MongoStore from "connect-mongo";
import { localsMiddleware } from "./middlewares";
import routes from "./routes";
dotenv.config();
const app = express();
const CokieStore = MongoStore(session);
app.use(helmet());
app.set("view engine", "pug");
app.use("/uploads", express.static("uploads"));
app.use("/static", express.static("static"));
app.use(cookieParser());
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true })); // json, html, text, urlencoded 할 거 없이 다 parser할 수 있도록 설정해줘야 한다.
app.use(morgan("dev"));
app.use(
session({
secret: process.env.COOKIE_SECRET,
resave: true,
saveUninitialized: false,
store: new CokieStore({ mongooseConnection: mongoose.connection }),
})
);
app.use(flash());
//app.use(passport.initialize());
//app.use(passport.session());
app.use(localsMiddleware);
export default app; // 파일을 불러올때 app object를 준다는 의미.
File mode changed
/* eslint-disable no-console */
import mongoose from "mongoose";
import dotenv from "dotenv";
dotenv.config();
mongoose.connect(process.env.MONGO_URL, {
useNewUrlParser: true,
useFindAndModify: false,
});
const db = mongoose.connection;
const handleOpen = () => {
console.log("✅ Connected to DB");
};
const handleError = (error) =>
console.log(`🔴 Error on DB Connection: ${error}`);
db.once("open", handleOpen); // connection을 열고 성공여부를 확인할 수 있는 function을 만들 것이다.
db.on("error", handleError);
console.log("hi");
\ No newline at end of file
import dotenv from "dotenv";
import app from "./app"; // app.js에서 export default app했기 때문에 불러올 수 있다.
import "./db";
dotenv.config();
const PORT = process.env.PORT || 80;
const handleListening = () => {
console.log(`✅ Listening on: http://localhost:${PORT}`);
// call-back함수.
// PORT를 listen하기 시작할 때 함수를 호출해준다.
};
app.listen(PORT, handleListening);
import dotenv from "dotenv";
import multer from "multer";
import multerS3 from "multer-s3";
import aws from "aws-sdk";
import routes from "./routes";
dotenv.config();
const s3 = new aws.S3({
accessKeyId: process.env.AWS_KEY,
secretAccessKey: process.env.AWS_PRIVATEE_KEY,
region: "ap-northeast-2",
});
export const localsMiddleware = (req, res, next) => {
res.locals.siteName = "my Storage";
res.locals.routes = routes;
res.locals.loggedUser = req.user || null;
// console.log(req);
next();
};
export const onlyPublic = (req, res, next) => {
if (req.user) {
res.redirect(routes.home);
} else {
next();
}
};
export const onlyPrivate = (req, res, next) => {
if (req.user) {
next();
} else {
res.redirect(routes.home);
}
};
......@@ -16,6 +16,7 @@
"fetchSpec": "^8.2.0"
},
"_requiredBy": [
"#USER",
"/"
],
"_resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz",
......
{
"name": "KYW",
"name": "rokkyw",
"version": "1.0.0",
"lockfileVersion": 1,
"requires": true,
......
File mode changed
const path = require("path");
const autoprefixer = require("autoprefixer");
const ExtractCSS = require("extract-text-webpack-plugin");
const MODE = process.env.WEBPACK_ENV;
const ENTRY_FILE = path.resolve(__dirname, "assets", "js", "main.js");
const OUTPUT_DIR = path.join(__dirname, "static");
const config = {
entry: ["@babel/polyfill", ENTRY_FILE],
mode: MODE,
module: {
rules: [
{
test: /\.{js}$/,
use: [
{
loader: "babel-loader",
},
],
},
{
test: /\.(scss)$/,
use: ExtractCSS.extract([
{
loader: "css-loader",
},
{
loader: "postcss-loader",
options: {
plugins() {
return [autoprefixer({ browsers: "cover 99.5%" })];
},
},
},
{
loader: "sass-loader",
},
]),
},
],
},
output: {
path: OUTPUT_DIR,
filename: "[name].js",
},
plugins: [new ExtractCSS("style.css")],
};
module.exports = config;