무료
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결Node.js - Express
에러
npm ERR! syscall open npm ERR! path C:\Nodejs-master/package.json npm ERR! errno -4058 npm ERR! enoent ENOENT: no such file or directory, open 'C:\Nodejs-master\package.json' npm ERR! enoent This is related to npm not being able to find a file. npm ERR! enoent npm ERR! A complete log of this run can be found in: 어떻게 해결을 해야할까요
- 미해결Node.js - Express
lowdb모듈을 찾을 수 없다고 뜹니다
"dependencies": { "body-parser": "^1.19.1", "compression": "^1.7.4", "connect-flash": "^0.1.1", "express": "^4.17.2", "express-session": "^1.17.2", "helmet": "^5.0.1", "lowdb": "^3.0.0", "passport": "^0.5.2", "passport-local": "^1.0.0", "sanitize-html": "^1.18.2", "session-file-store": "^1.5.0", "shortid": "^2.2.16" } var low = require('lowdb'); var FileSync = require('lowdb/adapters/FileSync'); var adapter = new FileSync('db.json'); var db = low(adapter); db.defaults({users:[]}).write(); 모듈을 분명히 가져왔는데 찾을 수 없다고 뜨네요...
- 미해결Node.js - Express
이거 node3 시리즈 강의 처음부터 보고 있었는데
딱 여기부터 소스 흐름이 이상해요 ㅠㅠ
- 미해결Node.js - Express
Passpot.js
"Passpot.js" 제목에 오타가 있습니다.
- 미해결Node.js - Express
"express-session의 session 객체" 시간 표시 오류
"express-session의 session 객체" 시간이 1분 미만으로 잘못 표시되어 있습니다.
- 미해결Node.js - Express
"express-session의 옵션" 유투브 링크가 잘 못되어 있어요.
"express-session의 옵션" 강의가 유투브의 재생목록 링크를 가지고 있어요.
- 미해결Node.js - Express
main.js 소스중 일부 log, logout_process 소스가 빠져있어 부탁드립니다.
안녕하세요. 수고많으십니다. main.js 소스중 일부 log, logout_process 소스가 빠져있어 부탁드립니다. 감사합니다.
- 미해결Node.js - Express
혹시 완성 코드본은 없을 까요 ㅜㅜ
혹시 완성 코드본은 없을 까요 ㅜㅜ
- 미해결Node.js - Express
수료증!
쌤 수료증은 발급안되나요??
- 미해결Node.js - Express
이메일 입력하면 제출이 안됩니다..
var http = require('http'); var fs = require('fs'); var url = require('url'); var qs = require('querystring'); var template = require('./lib/template.js'); var path = require('path'); var sanitizeHtml = require('sanitize-html'); var app = http.createServer(function(request,response){ var _url = request.url; var queryData = url.parse(_url, true).query; var pathname = url.parse(_url, true).pathname; if(pathname === '/'){ if(queryData.id === undefined){ fs.readdir('./data', function(error, filelist){ var title = 'Welcome'; var description = 'Hello, Node.js'; var list = template.list(filelist); var html = template.HTML(title, list, `<h2>${title}</h2>${description}`, `<a href="/create">create</a>` ); response.writeHead(200); response.end(html); }); } else { fs.readdir('./data', function(error, filelist){ var filteredId = path.parse(queryData.id).base; fs.readFile(`data/${filteredId}`, 'utf8', function(err, description){ var title = queryData.id; var sanitizedTitle = sanitizeHtml(title); var sanitizedDescription = sanitizeHtml(description, { allowedTags:['h1'] }); var list = template.list(filelist); var html = template.HTML(sanitizedTitle, list, `<h2>${sanitizedTitle}</h2>${sanitizedDescription}`, ` <a href="/create">create</a> <a href="/update?id=${sanitizedTitle}">update</a> <form action="delete_process" method="post"> <input type="hidden" name="id" value="${sanitizedTitle}"> <input type="submit" value="delete"> </form>` ); response.writeHead(200); response.end(html); }); }); } } else if(pathname === '/create'){ fs.readdir('./data', function(error, filelist){ var title = 'WEB - create'; var list = template.list(filelist); var html = template.HTML(title, list, ` <form action="/create_process" method="post"> <p><input type="text" name="title" placeholder="title"></p> <p> <textarea name="description" placeholder="description"></textarea> </p> <p> <input type="submit"> </p> </form> `, ''); response.writeHead(200); response.end(html); }); } else if(pathname === '/create_process'){ var body = ''; request.on('data', function(data){ body = body + data; }); request.on('end', function(){ var post = qs.parse(body); var title = post.title; var description = post.description; fs.writeFile(`data/${title}`, description, 'utf8', function(err){ response.writeHead(302, {Location: `/?id=${title}`}); response.end(); }) }); } else if(pathname === '/update'){ fs.readdir('./data', function(error, filelist){ var filteredId = path.parse(queryData.id).base; fs.readFile(`data/${filteredId}`, 'utf8', function(err, description){ var title = queryData.id; var list = template.list(filelist); var html = template.HTML(title, list, ` <form action="/update_process" method="post"> <input type="hidden" name="id" value="${title}"> <p><input type="text" name="title" placeholder="title" value="${title}"></p> <p> <textarea name="description" placeholder="description">${description}</textarea> </p> <p> <input type="submit"> </p> </form> `, `<a href="/create">create</a> <a href="/update?id=${title}">update</a>` ); response.writeHead(200); response.end(html); }); }); } else if(pathname === '/update_process'){ var body = ''; request.on('data', function(data){ body = body + data; }); request.on('end', function(){ var post = qs.parse(body); var id = post.id; var title = post.title; var description = post.description; fs.rename(`data/${id}`, `data/${title}`, function(error){ fs.writeFile(`data/${title}`, description, 'utf8', function(err){ response.writeHead(302, {Location: `/?id=${title}`}); response.end(); }) }); }); } else if(pathname === '/delete_process'){ var body = ''; request.on('data', function(data){ body = body + data; }); request.on('end', function(){ var post = qs.parse(body); var id = post.id; var filteredId = path.parse(id).base; fs.unlink(`data/${filteredId}`, function(error){ response.writeHead(302, {Location: `/`}); response.end(); }) }); // 로그인 } else if (pathname === '/login'){ fs.readdir('./data', function(error, filelist){ var title = 'Login'; var list = template.list(filelist); var html = template.HTML(title, list, ` <from action="login_process" method="post"> <p><input type="text" name="email" placeholder="email"></p> <p><input type="password" name="password" placeholder="password"></p> <p><input type="submit"></p> </from>`, `<a href="/create">create</a>` ); response.writeHead(200); response.end(html); }); // 로그인 받기 }else if ( pathname ==='/login_process'){ var body = ''; request.on('data', function(data){ body = body + data; }); request.on('end', function(){ var post = qs.parse(body); if(post.email === 'fkxodbs@naver.com' && post.password ==='111111'){ response.writeHead(302, { 'Set-Cookie' : [ `email=${post.email}`, `password=${post.password}`, `nickname=egoing` ], Location: `/` }); response.end(); }else { response.end('who?'); } }); } else { response.writeHead(404); response.end('Not found'); } }); app.listen(3000); --------- var http = require('http'); var cookie = require('cookie'); http.createServer(function(request,respone){ console.log(request.headers.cookie) var cookies = {} if(request.headers.cookie !== undefined){ cookies = cookie.parse(request.headers.cookie) } console.log(cookies.yummy_cookie); console.log(request.headers.cookie); respone.writeHead(200, { 'Set-Cookie' : [ 'yummy_cookie=choco', 'tasty_cookie=strawberry', `Permanent=cookies; Max-Age=${60*60*24*30}`, // Max-Age= 현재 시점을 기준으로 얼마나 살아있을까 정한다 'Secure=Secure; Secure', 'HttpOnly=HttpOnly; HttpOnly', 'Path=Path; Path=/cookie', 'Domain-Domain; Domain=02.org' ] }) respone.end('cookie!!') }).listen(3000);
- 미해결Node.js - Express
sanitizeHtml을 쓰면....
var sanitizeHtml = require('sanitize-html'); 을 쓰면 바로 module not found가 나와버려요..... 해결해주시면 감사하겠습니다!!
- 미해결Node.js - Express
host:3000에 들어가지지 않습니다 ㅠㅠ
(사진)
- 미해결Node.js - Express
pm2 사용법,,
cmd , 파워셀 에서 인스톨했는데 VSC에서 터미널 사용하려고하면 에러가 나타납니다... PS C:\개발자료\in_out page> pm2 start main.js --watch pm2 : 이 시스템에서 스크립트를 실행할 수 없으므로 C:\Users\jnty0\AppData\Roaming\npm\pm2.ps1 파일을 로드할 수 없습니다. 자세한 내용은 about_Execution_Policies(https: //go.microsoft.com/fwlink/?LinkID=135170)를 참조하십시오. 위치 줄:1 문자:1 + pm2 start main.js --watch + ~~~ + CategoryInfo : 보안 오류: (:) [], PSSecurityException + FullyQualifiedErrorId : Unau
- 미해결Node.js - Express
세션 미들웨어 설치 링크가 잘못되어 있는것 같습니다.
https://youtu.be/ZmFuLoXl2Cg 이 강의가 되어야 하는 것 같아요.
- 해결됨Node.js - Express
으
으
- 미해결Node.js - Express
새로운 챕터를 시작할때마다 소스코드를 제공해 주시기 바랍니다.
쿠키. 세션 ,패스포트 , 다중사용자 ... 처음에 열심히 따라했지만 계속 가면서 뭐가 잘못되었는지 동작이 안되네요. 한번 잘못되면 영원히 잘못되는 구조라서 따라가기가 너무 힘듭니다. 그러다가 멍하니 구경만하고 해도 안되고 그러네요 챕터가 바뀔때마다 예제코드를 올려주시거나 예제가 있는 곳을 알려주시면 감사하겠습니다.