node.js는 프레임워크가 아니기 때문에 서버를 실행하는 파일을 자기가 직접 만들어야 한다!
npm init 으로 node_modules 파일을 만들어준다.
app.js = 서버키는 기능
Routing = django에서 urls.py 기능
백엔드 코드 = django에서의 views.py 기능
SPA는 javaScript의 강점을 최대한 활용할 수 있다.
express는 내장된 함수가 아니기 때문에 따로 불러와야 한다.
Django에서의 import는 javascript에서 require다.
Node.js
테스트 파일에서 mySQL을 입문해볼 것이다.MySQL 설치 방법과 CRUD가 기억이 안난다면 지난 수업 때 했던 내용을 복습하자!
먼저 node.js에서 mysql를 사용할 수 있도록 npm으로 설치를 하자!
npm install mysql
mysql_test.js
파일을 생성하고 다음과 같이 작성해준다. var express = require('express');
var app = express();
var mysql = require( 'mysql' );
var conn = mysql.createConnection({
user: 'root',
password: '개인이 설정하고 싶은 비밀번호 입력',
database: 'SSAC'
});
app.listen( 8100, function () {
console.log( conn.state );
console.log( "Listening on *:3000" );
});
파일을 node.js 터미널에서 실행시켜본다.
node mysql_test.js
DB와의 상태가 disconnect라고 뜬다 왜 그럴까...?
아마도 비밀번호가 일치하지 않거나 초기에 설정한 값이 없어서 인 것으로 추측됨.
따라서 mySQL의 비밀번호를 다시 설정해 주어야함!
아래와 같은 명령어로 비밀번호 설정!
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '변경할 비밀번호';
그 후 Putty 터미널에서 mySQL 실행! 아래 명령어를 입력하면 비밀번호를 입력하라고 나오는 데 위에서 설정한 비밀번호를 입력하면 된다!
mysql -u root -p
mysql_test.js
의 내용을 수정하기 다시 실행시켜 보도록 하겠다. var express = require('express');
var app = express();
var mysql = require( 'mysql' );
var conn = mysql.createConnection({
user: 'root',
password: 'ssac()',
database: 'SSAC'
});
app.listen( 8100, function () {
conn.connect( ( err ) => {
if ( err ) console.log( err );
else console.log( "DB connected successfully!" );
});
app.listen( 8100, function () {
conn.connect( ( err ) => {
if ( err ) console.log( err );
else console.log( "DB connected successfully!" );
});
var sql = "INSERT INTO member VALUES('david', '데이빗', '2021-10-21');"
conn.query(sql, function(err) {
if( err ){
console.log( 'failed!! : ' + err );
}
else {
console.log( `"data inserted!"` );
}
});
});
"data inserted!"
문장이 출력된다.app.listen( 8100, function () {
conn.connect( ( err ) => {
if ( err ) console.log( err );
else console.log( "DB connected successfully!" );
});
// select 예제
var sql = "SELECT * FROM member;"
conn.query( sql, function( err, results ) {
for ( var i = 0; i < results.length; i++) {
console.log ( "아이디 : " + results[i]["ID"] );
console.log ( "이름 : " + results[i]["name"] );
}
} );
});