node -v
다운되었는지 알 수 있다.cd 파일명
npm init
npm install express --save
"start": "node index.js",
코드 복붙하기npm run start
입력localhost:port값
localhost:4000
인터넷 주소창에 입력하면, 간단한 웹사이트가 열린다.^C 입력하면, 서버 열고 닫을 수 있다고 하는데 모르겠다.
`Example app listening at http://localhost:${port}, ${port}`
console.log("a * b 결과는 ,"+a * b+","+a * b+"입니다.")
console.log('a * b 결과는 '+a * b+'입니다.')
console.log("a * b 결과는 , 변수)
npm install mongoose --save
입력const mongoose = require("mongoose");
mongoose.connect(
"mongodb+srv://dongyoon:<password>@cluster0.chko0.mongodb.net/myFirstDatabase?retryWrites=true&w=majority",
{
useNewUrlParser: true,
useUnifiedToPology: true,
useCreateIndex: true,
useFindAndModufy: false,
}
).then(() => {
console.log("mongo DB connected...");
})
.catch((err) => {
console.log(err);
});
//형태 mongoose.connect(문자열,{}).then().catch()
<password>
에다가 아까 username의 password를 입력하기//JSON code
{
"products": [{
"name": "농구공",
"price": 100000,
"seller": "조던",
"imageUrl": "images/products/basketball1.jpeg"
},
{
"name": "축구공",
"price": 50000,
"seller": "메시",
"imageUrl": "images/products/soccerball1.jpg"
},
{
"name": "키보드",
"price": 10000,
"seller": "그랩",
"imageUrl": "images/products/keyboard1.jpg"
}]
}
초록형광펜
<span style="background-color:#dcffe4">초록형광펜</span>
노랑형광펜
<span style="background-color:#fff5b1">노랑형광펜</span>
파랑형광펜
<span style="background-color:#f1f8ff">파랑형광펜</span>
빨강형광펜
<span style="background-color:#ffdce0">빨강형광펜</span>
보라형광펜
<span style="background-color:#f5f0ff">보라형광펜</span>
주황형광펜
<span style="background-color:#f7ddbe">주황형광펜</span>
빨간색
<span style="color:red">빨간색</span>
초록색
{
"name" : "축구공",
"price" : 50000,
"likes" : ["그랩", "실키", "민수"],
"seller" : {
"name" : "그랩",
"email" : "grab@helloworld.com"
}//여기에는 ,쓰면 안된다.
}
//axios 외부 라이브러리 다운로드
<head>
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
</head>
axios
.get("https://75cf7c45-ec1c-4ed7-842f-6dbc10752ed1.mock.pstmn.io/products")
//get("postman 프로그램으로 만든 url")
//위 주소에서 데이터를 받아온다.
.then(function (result) {
//then()에 익명함수 넣음
//익명함수에 인수를 넣음 -> 받아온 데이터 값을 사용하려고
console.log("통신 결과 :", result);
//함수 인수 출력
const products = result.data.products;
//데이터값을 변수에 넣음(배열안에 객체가 들어있음)
let productsHtml = "";
//#product-list tag안에 넣을 html이 담긴 변수
for (let i = 0; i < products.length; i++) {
//배열안의 데이터를 모두 활용하기 위해서, 반복문 활용
let product = products[i];
//객체 한 개를 변수에 넣음
productsHtml +=
//productsHtml 변수에 html 넣음
'<div class="product-card">' +
"<div>" +
'<img class="product-img" src="' +
product.imageUrl +
//객체에 담긴 데이터를 js의 객체를 이용하여 html에 넣음
//이미지의 src="" 안에 넣음
'" alt="농구공"/>' +
"</div>" +
'<div class="product-contents">' +
'<span class="product-name">' +
product.name +
//객체에 담긴 데이터를 js의 객체를 이용하여 html에 넣음
// span tag의 content에 넣음
"</span>" +
'<span class="product-price">' +
product.price +
//객체에 담긴 데이터를 js의 객체를 이용하여 html에 넣음
// span tag의 content에 넣음
"원</span>" +
'<div class="product-seller">' +
'<img class= "product-avatar" src="images/icons/avatar.png" alt="" />' +
"<span>" +
product.seller +
//객체에 담긴 데이터를 js의 객체를 이용하여 html에 넣음
// span tag의 content에 넣음
"</span>" +
"</div>" +
"</div>" +
"</div>";
}
document.querySelector("#product-list").innerHTML = productsHtml;
})
//#product-list tag안에 제품 판매 카드 tag를 넣음
.catch(function (error) {
console.log("error 발생");
});
//간단한 구조 axios.get().then().catch()
/* axios 라이브러리 이용하여 통신한다. get방식으로 요청 통신 성공하면 .then()실행, 통신 실패하면 .catch() 실행한다.*/