pitcampmaster4960
@pitcampmaster4960
Reviews Written
-
Average Rating
-
Posts
Q&A
next์์ route์ฃผ์์์ ์๋ก๊ณ ์นจ ํ๋ฉด 404์๋ฌ ์ง๋ฌธ์ ๋๋ค.
์, ์ ๊ฐ ์์ง ๊ฐ์๋ฅผ ๋๊น์ง ๋ฃ์ง ์์์ ๊ทธ๋ ๋ค์. ๊ฐ์๋ฅผ ๋ ๋ค์ด๋ณด๊ฒ ์ต๋๋ค! ๊ฐ์ฌํฉ๋๋ค!
- 0
- 4
- 971
Q&A
next์์ route์ฃผ์์์ ์๋ก๊ณ ์นจ ํ๋ฉด 404์๋ฌ ์ง๋ฌธ์ ๋๋ค.
ํ๋ก ํธ ์๋ฒ์ ์๋ ๊ฐ์ด server.js๋ก express ์ค์ ์ ํ๋๋ฐ, ์ด๊ฑฐ ๋ง์ํ์๋๊ฒ ์๋๊ฐ์? ๋ค๋ฅธ๊ฑธ ๋ ํด์ผํ ๊น์? const express = require("express"); const next = require("next"); const morgan = require("morgan"); const cookieParser = require("cookie-parser"); const expressSession = require("express-session"); const dotenv = require("dotenv"); // option ์ค์ const dev = process.env.NODE_ENV !== "production"; // ๊ฐ๋ฐ๋ชจ๋ const prod = process.env.NODE_ENV === "production"; // ๋ฐฐํฌ๋ชจ๋ // express์ next๋ฅผ ์ฐ๊ฒฐํ๋ ๋ฐฉ๋ฒ const app = next({ dev }); const handle = app.getRequestHandler(); dotenv.config(); // ์ด ๋ถ๋ถ์ด next์ ํ์ํ ๋ด์ฉ // ์ด๋ ๊ฒ ํ๋ฉด next๋ express๊ฐ ์ฐ๊ฒฐ๋. app.prepare().then(() => { const server = express(); server.use(morgan("dev")); server.use(express.json()); server.use(express.urlencoded({ extended: true })); server.use(cookieParser(process.env.COOKIE_SECRET)); server.use( expressSession({ resave: false, saveUninitialized: false, secret: process.env.COOKIE_SECRET, cookie: { httpOnly: true, secure: false // https๋ฅผ ์ฌ์ฉํ๋ค๋ฉด true๋ก ๋ฐ๊ฟ์ผํจ } }) ); server.get("/comment/:id", (req, res) => { return app.render(req, res, "/comment", { tag: req.params.id }); // ์ด๊ฑธํตํด์ ํ๋ก ํธ hashtag ํ์ด์ง์ tag๊ฐ ํจ๊ป ๋ด๋ ค๊ฐ. // app.render๋ฅผ ํตํด pages์ "/hashtag"๋ฅผ ์ฐพ๋๋ค. }); server.get("/hashtag/:tag", (req, res) => { return app.render(req, res, "/hashtag", { tag: req.params.tag }); // ์ด๊ฑธํตํด์ ํ๋ก ํธ hashtag ํ์ด์ง์ tag๊ฐ ํจ๊ป ๋ด๋ ค๊ฐ. // app.render๋ฅผ ํตํด pages์ "/hashtag"๋ฅผ ์ฐพ๋๋ค. }); //๋ชจ๋ get์์ฒญ์ ์ ๋ถ ์ฒ๋ฆฌํจ. ํ๋ฉด ๋์ฐ๋ ๊ฑฐ ํฌํจ server.get("*", (req, res) => { return handle(req, res); }); server.listen(3060, () => { console.log("next+express running on port http://localhost:3060"); }); });
- 0
- 4
- 971
Q&A
ํ๋ก์ ๋ชฉ๋ก ์ญ์ ๊ธฐ๋ฅ ๊ตฌํ ์ค ์ง๋ฌธ๋๋ฆฝ๋๋ค.
๋ธ๋ผ์ฐ์ ์๋ฌ ํด๊ฒฐํ๋๋ฐ๋ ๋ถ๊ตฌํ๊ณ , ๊ฐ์ ์ฆ์์ด ๋ฐ๋ณต๋ฉ๋๋ค. ๋ค์์ ์ด๋ค๊ฑธ ํ์ธํด๋ด์ผ ํ ๊น์? (์ฌ์ง) (์ฌ์ง) (์ฌ์ง)
- 0
- 3
- 378
Q&A
๋ก์ปฌ ์๋ฒ์ ์ด๋ฏธ์ง ๋ฑ๋ก์ ์ฑ๊ณตํ๋๋ฐ, ํ๋ก ํธ์์ ์ธ๋ค์ผ ์ด๋ฏธ์ง๊ฐ ๋ณด์ด์ง ์์ต๋๋ค.
๋ถ๋๋ฝ๋ค์..ํด๊ฒฐํ์ต๋๋ค. ์ ๋ง ๋น ๋ฅธ ๋ต๋ณ ๋๋ฌด ๊ฐ์ฌ๋๋ฆฝ๋๋ค..๊ฐ๋ก์ด๋ ๋ ๊ฐ์ฌํฉ๋๋ค..
- 0
- 2
- 853
Q&A
sequelize Cannot read property 'findOne' of undefined ์๋ฌ ์ ๋๋ค.
์คํ๊ฐ ์์์ต๋๋ค. ํด๊ฒฐ ํ์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค!
- 0
- 2
- 1K
Q&A
workbench ์ฐ๊ฒฐ ์คํจ ์ง๋ฌธ์ ๋๋ค.
์...๋ค ๋ชฐ๋๋ ๋ด์ฉ์ด์์ต๋๋ค. ํด๊ฒฐ ํด์ฃผ์ ์ ์ ๋ง ๊ฐ์ฌ๋๋ฆฝ๋๋ค!
- 0
- 2
- 217
Q&A
model์ ์ ๋ถ ๋ง๋ ํ, table์ ์์ฑํ๋ ๊ณผ์ ์์ ์๋ฌ๊ฐ ๋ฐ์ํ์ต๋๋ค.
์ ๋ก์ด๋, ๋ค๋ฅธ ์ง๋ฌธ ๊ธ ๋ต๋ณ ๋ณด๊ณ ํด๊ฒฐํ์ต๋๋ค. ๋น ๋ฅธ ๋ต๋ณ ํด์ฃผ์ ์ ์ ๋ง ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
- 0
- 10
- 577
Q&A
model์ ์ ๋ถ ๋ง๋ ํ, table์ ์์ฑํ๋ ๊ณผ์ ์์ ์๋ฌ๊ฐ ๋ฐ์ํ์ต๋๋ค.
config์ ์ ๋ ฅํ๋ password (์ ๋ก์ด๋์ nodejsbook ์ผ๋ก ์ค์ ํ ๋ด์ฉ) ์ ๊ฐ ์ ์ปดํจํฐ์ ์ค์น๋์ด ์๋ mysql ์ ์ํ ๋, myslq -u root -p 'password' ์ ์์ 'password' ์ ๋ค์ด๊ฐ๋๊ฑฐ๋ ๊ฐ์์ผ๋๋ค๋ ๋ง์์ด์ ๊ฑฐ์ฃ ? ๋ฐฉ๊ธ password ์ฐพ์์ config์๋ ๋ณ๊ฒฝํ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์๋์ ๊ฐ์ ๋ฒ๊ทธ๊ฐ ๋ฐ์ํ์ต๋๋ค. ์ด๋ฒ์๋ ์ด๋ฆ์ ์๋ชป์ค์ ํ๊ฑด๊ฐ์? Unhandled rejection SequelizeConnectionError: Unknown database 'react-nodebird' at Promise.tap.then.catch.err (/Users/kim/Desktop/projects/nodebird/back/node_modules/sequelize/lib/dialects/mysql/connection-manager.js:133:19) at tryCatcher (/Users/kim/Desktop/projects/nodebird/back/node_modules/bluebird/js/release/util.js:16:23) at Promise._settlePromiseFromHandler (/Users/kim/Desktop/projects/nodebird/back/node_modules/bluebird/js/release/promise.js:547:31) at Promise._settlePromise (/Users/kim/Desktop/projects/nodebird/back/node_modules/bluebird/js/release/promise.js:604:18) at Promise._settlePromise0 (/Users/kim/Desktop/projects/nodebird/back/node_modules/bluebird/js/release/promise.js:649:10) at Promise._settlePromises (/Users/kim/Desktop/projects/nodebird/back/node_modules/bluebird/js/release/promise.js:725:18) at _drainQueueStep (/Users/kim/Desktop/projects/nodebird/back/node_modules/bluebird/js/release/async.js:93:12) at _drainQueue (/Users/kim/Desktop/projects/nodebird/back/node_modules/bluebird/js/release/async.js:86:9) at Async._drainQueues (/Users/kim/Desktop/projects/nodebird/back/node_modules/bluebird/js/release/async.js:102:5) at Immediate.Async.drainQueues [as _onImmediate] (/Users/kim/Desktop/projects/nodebird/back/node_modules/bluebird/js/release/async.js:15:14) at runCallback (timers.js:705:18) at tryOnImmediate (timers.js:676:5) at processImmediate (timers.js:658:5) { "development": { "username": "root", "password": "ssafy", "database": "react-nodeBird", "host": "127.0.0.1", "dialect": "mysql", "operatorsAliases": false }, "test": { "username": "root", "password": "ssafy", "database": "react-nodeBird", "host": "127.0.0.1", "dialect": "mysql", "operatorsAliases": false }, "production": { "username": "root", "password": "ssafy", "database": "react-nodeBird", "host": "127.0.0.1", "dialect": "mysql", "operatorsAliases": false } }
- 0
- 10
- 577
Q&A
model์ ์ ๋ถ ๋ง๋ ํ, table์ ์์ฑํ๋ ๊ณผ์ ์์ ์๋ฌ๊ฐ ๋ฐ์ํ์ต๋๋ค.
mysql ๋น๋ฐ๋ฒํธ๊ฐ ํ๋ฆฐ๊ฑฐ๋ผ๋ฉด, mysql ๋น๋ฐ๋ฒํธ๋ฅผ ์ด๋์ ์ ๋ ฅํด์ ํ๋ฆฐ๊ฑฐ์ผํ ๋ฐ,๋น๋ฐ๋ฒํธ๋ฅผ ์ด๋์ ์ ๋ ฅ์ ํ๊ฑด๊ฐ์? ๊ฐ์๋ณด๋ฉด์ mysql ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ ฅํ ๊ฒฝ์ฐ๊ฐ ์์์ด์์. ์ ๋ง ๋ชฐ๋ผ์ ์ง๋ฌธ๋๋ฆฝ๋๋ค.ใ ใ ํ๊ฒฝ์ ๋งฅ os ์ฌ์ฉํ๊ณ ์๊ณ , ๋ค๋ฅธ ์ง๋ฌธ ๊ธ ์ฐพ์๋ณธ ํ mysql@5.7 ๋ฒ์ ๋ค์ด๋ฐ์์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ์ ๊ฐ ํด์ผ ๋ ๊ฒ, 1. mysql๋ฅผ ์ค์น ํ, ๋น๋ฐ๋ฒํธ๋ nodejsbook ์ผ๋ก ๋ณ๊ฒฝํ๊ณ , 2. config ํ์ผ๋ ์๋์ฒ๋ผ ์ค์ ํ๋ฉด ๋๋์? Unhandled rejection SequelizeAccessDeniedError: Access denied for user 'root'@'localhost' (using password: YES) ์ ์๋ฌ๋ฅผ ํด๊ฒฐ ํ๊ธฐ ์ํด MySQL ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋น๋ฐ๋ฒํธ๊ฐ ํ๋ ธ๋ค๊ณ ํ์ จ๋๋ฐ, ์ ๊ฐ ์ด๋์ ์ ๋ ฅ์ ํด์ ํ๋ฆฐ๊ฑด์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. { "development": { "username": "root", "password": "nodejsbook", "database": "react-nodeBird", "host": "127.0.0.1", "dialect": "mysql", "operatorsAliases": false }, "test": { "username": "root", "password": "nodejsbook", "database": "react-nodeBird", "host": "127.0.0.1", "dialect": "mysql", "operatorsAliases": false }, "production": { "username": "root", "password": "nodejsbook", "database": "react-nodeBird", "host": "127.0.0.1", "dialect": "mysql", "operatorsAliases": false } }
- 0
- 10
- 577
Q&A
model์ ์ ๋ถ ๋ง๋ ํ, table์ ์์ฑํ๋ ๊ณผ์ ์์ ์๋ฌ๊ฐ ๋ฐ์ํ์ต๋๋ค.
back์ ์ฒ์๋ถํฐ ๋ค์ ํด๋๋ฅผ ์์ฑ ํ ๋ง๋ค์ด๋ ๊ฐ์ ์๋ฌ๊ฐ ๋ฐ๋ณต๋ฉ๋๋ค. ์ด๋ฒ์๋ ์ฒ์๋ถํฐ ๋น๋ฐ๋ฒํธ๋ฅผ ๋ฌธ์์ด๋ก ํ๋๋ฐ๋ ๋ถ๊ตฌํ๊ณ , ์๋์ ๊ฐ์ ์๋ฌ๊ฐ ๊ณ์ ๋ฐ๋ณต๋๋ค์. ์๋ก ๋ง๋ ๋ค๊ณ ํด๋, mysql์๋ ์ด์ ์ ๋ง๋ค์ด๋๋ ๊ณณ์ผ๋ก ์ ๊ทผ์ ํ๋์? npm init ๋ถํฐ ํด์ ์ฒ์๋ถํฐ ๋ค์ ๋ง๋ค์๋๋ฐ๋ ๋ถ๊ตฌํ๊ณ ๊ฐ์ ์๋ฌ๊ฐ ๋์์ ์ด๋ป๊ฒ ํด๊ฒฐํด์ผ๋ ์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ์๋๋ ์๋ฌ ๋ฉ์์ง ์ ๋๋ค. [nodemon] restarting due to changes... [nodemon] starting `node index.js` (node:2663) [SEQUELIZE0004] DeprecationWarning: A boolean value was passed to options.operatorsAliases. This is a no-op with v5 and should be removed. server is running on http://localhost:3065 Unhandled rejection SequelizeAccessDeniedError: Access denied for user 'root'@'localhost' (using password: YES) at Promise.tap.then.catch.err (/Users/kim/Desktop/projects/nodebird/back/node_modules/sequelize/lib/dialects/mysql/connection-manager.js:125:19) at tryCatcher (/Users/kim/Desktop/projects/nodebird/back/node_modules/bluebird/js/release/util.js:16:23) at Promise._settlePromiseFromHandler (/Users/kim/Desktop/projects/nodebird/back/node_modules/bluebird/js/release/promise.js:547:31) at Promise._settlePromise (/Users/kim/Desktop/projects/nodebird/back/node_modules/bluebird/js/release/promise.js:604:18) at Promise._settlePromise0 (/Users/kim/Desktop/projects/nodebird/back/node_modules/bluebird/js/release/promise.js:649:10) at Promise._settlePromises (/Users/kim/Desktop/projects/nodebird/back/node_modules/bluebird/js/release/promise.js:725:18) at _drainQueueStep (/Users/kim/Desktop/projects/nodebird/back/node_modules/bluebird/js/release/async.js:93:12) at _drainQueue (/Users/kim/Desktop/projects/nodebird/back/node_modules/bluebird/js/release/async.js:86:9) at Async._drainQueues (/Users/kim/Desktop/projects/nodebird/back/node_modules/bluebird/js/release/async.js:102:5) at Immediate.Async.drainQueues [as _onImmediate] (/Users/kim/Desktop/projects/nodebird/back/node_modules/bluebird/js/release/async.js:15:14) at runCallback (timers.js:705:18) at tryOnImmediate (timers.js:676:5) at processImmediate (timers.js:658:5)
- 0
- 10
- 577




