본문 바로가기
반응형

개발/Node JS34

Node JS - jest로 자바스크립트 코드 테스트 하기 (Jest, JavaScript Testing Framework) Node JS 전체 링크 참고 - Node JS + jest를 GitHub Actions로 실행하기 Jest를 이용해서 node js에 작성한 JavaScript 파일을 검증해보자. 환경설정 auto-test 폴더를 만든 후, npm init -y로 프로젝트를 만들자. $ npm init -y Wrote to D:\github\auto-test\package.json: { "name": "auto-test", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "", "license.. 2023. 3. 22.
React - Node 서버 프록시 설정 Node JS 전체 링크 리액트 전체 링크 react가 Node로부터 요청을 하는 코드의 예시이다. export const MY_SERVER = `http://192.168.55.120:3002`; export const getFileFolderList = (path, fileExtension) => { fetch(`${MY_SERVER}/getFileFolderList?path=${path}&fileExtension=${fileExtension}`) .then((response) => response.json()) .then((data) => console.log(data)); } 매번 fetch 요청을 할 때마다 MY_SERVER를 입력해줘야 한다. 하지만 package.json에 아래와 같이 pro.. 2021. 10. 28.
Node js, React 파일 관리 시스템 만들기 (14) 프로젝트 전체 링크 이전 - (13) shelljs를 이용하여 server의 파일 삭제하기 현재 - (14) multer를 이용하여 여러 개의 파일 업로드하기 깃허브에서 코드 확인하기 지금까지 서버에 파일을 하나씩 저장하고 삭제하였다. 이제 여러 개의 파일을 한꺼번에 업로드 하는 기능을 만들어보자. 파일을 upload 하기 위해 multer를 설치한다. npm install multer server에 fileUpload.js를 만든다. multer를 사용하기 위해 storage와 limits를 설정한다. storage에서 destination에 path를 넘겨주면 저장할 위치를 설정할 수 있다. 그리고 fileName은 이름을 설정한다. 여기서는 전달된 파일 그대로 저장한다. limits는 업로드할 파일.. 2021. 7. 20.
Node js, React 파일 관리 시스템 만들기 (13) 프로젝트 전체 링크 이전 - (12) axios post로 파일 저장하기 현재 - (13) shelljs를 이용하여 server의 파일 삭제하기 다음 - (14) multer를 이용하여 여러 개의 파일 업로드하기 깃허브에서 코드 확인하기 이제 DELETE 버튼을 누르면 server의 파일이 삭제되도록 해보자. 파일의 삭제는 Git Bash에서 rm 명령을 이용하여 삭제할 수 있으므로, node js에서 rm 명령을 내려서 파일을 지우자. 외부 명령어를 실행해주는 모듈인 shelljs를 설치한다. npm install shelljs server에 fileDelete.js를 만든다. shell.exec을 이용하여 명령을 내리면 되고, fetch를 이용해 지워야할 file의 full path를 전달한다. ex.. 2021. 7. 19.
Node js, React 파일 관리 시스템 만들기 (12) 프로젝트 전체 링크 이전 - (11) AutoSizeInput에 파일 이름 연동하기 현재 - (12) axios post로 파일 저장하기 다음 - (13) shelljs를 이용하여 server의 파일 삭제하기 깃허브에서 코드 확인하기 먼저 America_2020_01.csv를 적당히 복사해서 파일 크기를 늘려보자. 2500line 정도면 500KB 정도 된다. 이 파일을 test.csv 라는 이름으로 2020/America에 저장해보자. server에 fileSave.js를 아래와 같이 만든다. fileName은 절대 경로로 보낸다. 그리고 fileName에 저장할 content를 fileName에 저장한다. //fileSave.js const express = require("express"); con.. 2021. 7. 18.
Node js, React 파일 관리 시스템 만들기 (11) 프로젝트 전체 링크 이전 - (10) csv 파일 handsontable로 연동하기 현재 - (11) AutoSizeInput에 파일 이름 연동하기 다음 - (12) axios post로 파일 저장하기 깃허브에서 코드 확인하기 이제 편집한 csv를 server에 저장해보자. server에 저장하기 전에 파일 이름을 불러오고, 파일 이름도 수정할 수 있는 input을 먼저 구현해보자. 저장할 file의 이름이 있어야, 해당되는 파일이 서버에 없는 경우 그대로 저장하고, 서버에 있다면, 덮어 씌울 건지 확인할 수 있다. input은 파일 이름에 따라 size가 알맞게 수정되도록 하자. AutoSizeInput.js를 만들고 아래의 코드를 복사하자. //AutoSizeInput.js import React, .. 2021. 7. 17.
Node js, React 파일 관리 시스템 만들기 (10) 프로젝트 전체 링크 이전 - (9) csv 파일 목록 불러오기 현재 - (10) csv 파일 handsontable로 연동하기 다음 - (11) AutoSizeInput에 파일 이름 연동하기 깃허브에서 코드 확인하기 이제 file까지 불러오게 되었으니, 실제 csv를 handsontable로 보여주자. node js에 getFile.js를 추가한다. readFileSync를 이용하여 utf-8로 file을 읽어서 send한다. // getFile.js const express = require("express"); const fs = require("fs"); const router = express.Router(); router.get("/", (req, res) => { let path = req.q.. 2021. 7. 16.
Node js, React 파일 관리 시스템 만들기 (9) 프로젝트 전체 링크 이전 - (8) 각 version별 country 폴더 불러오기 현재 - (9) csv 파일 목록 불러오기 다음 - (10) csv 파일 handsontable로 연동하기 깃허브에서 코드 확인하기 이제 연도별 version 정보와 country를 선택할 수 있으므로, App.js에 불러올 수 있는 파일 목록을 으로 불러오자. 2020년 America를 선택하면 아래의 3개의 csv 파일이 보여야 한다. getFileFolderList, getFolderList를 참고하여 getFileList를 만든다. 여기서도 setState를 넘겨서 file 목록을 저장한다. //nodelibrary.js ... export const getFileList = (path, fileExtension,.. 2021. 7. 16.
Node js, React 파일 관리 시스템 만들기 (8) 프로젝트 전체 링크 이전 - (7) Local Storage로 현재 version 기억하기 현재 - (8) 각 version별 country 폴더 불러오기 다음 - (9) csv 파일 목록 불러오기 깃허브에서 코드 확인하기 node로 불러온 폴더는 각 ver 폴더이다. 각 ver 폴더에는 국가 폴더가 있고, 국가 폴더 아래에는 관리해야 할 (불러와야 할 csv) 파일이 있다. 이제 MyToggles에 국가까지 보이도록 toggle을 추가하자. App.js에 country 정보를 기억할 수 있도록 useState로 선언한 후, MyToggles에 넘겨준다. //App.js const App = () => { const [csvObject, setCsvObject] = useState(csvObjectDef.. 2021. 7. 15.
반응형