흠..ㅎ

설치 후 실행시키는데 오류가 떠서 

 

powershell을 켠 후 

executionpolicy 입력

--> Restricted

이것을 Unrestricted 이렇게 바꿔줄 것이다 보통 이렇게 하면 오류가 안나오는 걸로 아는데 ,,

 

set-executionpolicy unrestricted 입력

executionpolicy 를 쳐서 다시 확인해봄

Unrestricted  잘 나왔지만 아직도 오류,, 구글 검색.. 간다..

 

윈도우 검색창에

powerShell 을 관리자 권한으로 실행한 후

get-ExecutionPolicy 입력 후 값을 확인함

RemoteSigned가 아니라면 바꿔주도록 한다

set-ExecutionPolicy RemoteSigned 입력 후

get-ExecutionPolicy 입력하여 값 확인

 

다시 vscode로 돌아와서 실행하면 오류 없이 잘 된다! 굿👍

크크

'개발 > 오류' 카테고리의 다른 글

[React] next/Link github actions workflow 푸시 실패  (0) 2022.04.19
[Xcode] Could not open file  (1) 2022.04.11
깃허브 토큰 발급..  (0) 2022.03.31
react-native android build failed...  (0) 2022.03.24

Express 라이브러리란 ?

서버를 쉽게 개발하기 위한 라이브러리

 

Express 설치

- 원하는 프로젝트를 만들고(나는 리액트에서 사용하려고 터미널에 npx create-react-app 프로젝트명 입력하여 사용) 

- 터미널을 열어 Express 를 설치(npm install express)

- 라이브러리를 설치하게 되면 파일 내 node_modules 파일이 생성이 됨(설치한 라이브러리 관련된 라이브러리)

- 맥일경우 다른 오류가 날 수 있음..😢

 

 

서버로 사용할 js 파일을 만들고(나는 server.js로 작성!)

서버를 express로 띄우기 위한 기본 셋팅을 해준다

const express = require('express');
const app = express();

app.listen();
// 서버를 열기

 

app.listen(8080, function(){
    // 8080 port 에 서버 띄워주세요
    // 잘 열리면 안에 코드 실행
    console.log('listening on 8080');
});

 

입력 후 터미널을 열어 node server.js 입력

입력 했는데 요렇게 뜸..

404 떠서 또 뭔가 잘못했나 싶어서 구글창을 열었는데 강사님 화면도 저랬다 ㅎㅎ.. 

 

 

 

 

// 누군가 /home 으로 방문을 하면 home 화면을 띄우기
app.get('경로', function(){
    
})


// ex)
app.get('/home', function(req, res){
    res.send('HOME');
})

작성 후 서버를 껐다 켠다

서버를 끄는 법은 

휴지통 모양을 눌러도 되지만 간편하게 컨트롤 + C

http://localhost:8080/home 에서 확인

 

 

server.js 를 수정하면 서버를 껐다 켜야하기 때문에 자동화를 해볼 것임

npm install -g nodemon

server.js 저장 시 서버를 껐다 켜주는 역할을 함( -g 라는 뜻은 다른 폴더에서도 nodemon을 사용 할 것이라는 뜻)

설치를 했으면 node server.js 가 아닌 nodemon server.js로 실행

 

https://codingapple.com/course-status/

를 보고 따라 했지만 계속 오류가 생겨서 일단 패스 🤜수정완료🤛

https://min-ji07.tistory.com/entry/nodejs-nodemon-%EC%8B%A4%ED%96%89-%EC%98%A4%EB%A5%98%EC%9D%B4-%EC%8B%9C%EC%8A%A4%ED%85%9C%EC%97%90%EC%84%9C-%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%A5%BC-%EC%8B%A4%ED%96%89%ED%95%A0-%EC%88%98-%EC%97%86%EC%9C%BC%EB%AF%80%EB%A1%9C-CUserspcAppDataRoamingnpmnodemonps1-%ED%8C%8C%EC%9D%BC%EC%9D%84-%EB%A1%9C%EB%93%9C%ED%95%A0-%EC%88%98-%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4

 

[node.js] nodemon 실행 오류(이 시스템에서 스크립트를 실행할 수 없으므로 C:\Users\pc\AppData\Roaming\npm\n

설치 후 실행시키는데 오류가 떠서 powershell을 켠 후 executionpolicy 입력 --> Restricted 이것을 Unrestricted 이렇게 바꿔줄 것이다 보통 이렇게 하면 오류가 안나오는 걸로 아는데 ,, set-executionpolicy unrestric

min-ji07.tistory.com

 

 

'/' 으로 접속했을 때 index.html 띄우기

app.get('/', function(req, res){
    // sendFile 보낼 파일 경로
    res.sendFile(__dirname + '/public/index.html');
})

이렇게 입력해주니

요런 오류가 떴다.. 근데 검색해보니 어렵지 않은거여서 금방 해결!

index.html 파일에서 manifest  를 찾아 앞에 /를 추가해주면 됐다

<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />

코딩애플 사이트에서 node.js 시작!
쉽게 비유해서 재밌고 이해하기 넘 쉬워서 좋다

서버란 ?
쉽게 말해 요청하는 데이터를 가져다 주는 역할
요청(HTTP, HTTPS)은 4개의 방식이 있다
- 읽기(GET)
- 쓰기(POST) --> 글 생성, 댓글 생성 기타 등등 생성
- 수정(PUT)
- 삭제(DELETE)

- 어디선가 예) naver.com 으로 접속하면
- naver.com 메인 html 파일을 전송해주세요

NodeJS란 ?
- 1초에 몇십만개의 요청을 처리할 수 있어야함(SNS, 채팅서비스)
- 서버가 멈추거나 요청 대기시간이 없음
- 코드가 짧고 쉬움
- 웹 서비스 만들 때 주로 사용
- Non-blocking 이라는 장점

일반 프로그래밍 언어로 서버 개발시

중간에 어려운 작업이 있으면 뒤에 오는 작업들은 해당 작업이 끝날 때까지 대기 후 끝나면 요청을 받음

Non-blocking 이란

node.js 로 서버 개발시

먼저 요청을 받은 후 빨리 처리되는 것 부터 처리, 어려운 작업은 이후에 처리됨
서버가 요청 받는 것을 멈추지 않음


Node.js 세팅하기
- node.js 검색하여 설치
- 설치 후 명령프롬프트, PowerShell(mac은 터미널)에 node -v 입력하여 버전 확인이 되면 설치가 잘 된 것임
- 확인 후 node 서버파일.js 를 치면 실행되는 것임

개인 프로젝트를 진행하면서 api를 사용하였는데 숨기지 않고 올려서 메일이 왔다

api 키를 숨기는 방법에 대해 알아보자!

 

src 와 같은 곳에 .env 파일을 만들어준다(프로젝트 최상단)

.env 파일내에 상수를 만들어주고 따옴표 없이 api 키를 입력해준다

React 사용 시 환경변수 앞에 REACT_APP_ 을 붙여줘야 사용할 수 있다!

위 사진에서 보이는 .gitignore 파일에 .env 파일을 추가해준다

 

.gitignore 파일이란

- 사용자가 원하지 않는 파일들을 git 커밋 대상에서 제외 시킴

- git에 올려서는 안되거나 올리지 말아야 할 파일(보안적으로 중요한 내용)

- 프로젝트 최상단에 파일 생성

 

 

전부 설정하고 실행 시켰는데 환경변수의 값이 undefined 로 나올 때 확인해야 할 것

- REACT_APP_ ~ 형식으로 설정했는지

- 끝에 세미콜론이나 콤마를 사용했는지

- 따옴표로 감싸진 않았는지

- 전부 확인했으면 서버 재시작 후 확인한다

 

function App() {
  let state = useSelector((state) => {return state.headerMenu});
  return (
    <BrowserRouter basename={process.env.PUBLIC_URL}>
      {state && <Modal/>}
      <Header/>
      <Routes>
        <Route path="/" element={<Index />} />
        <Route path="/react-portfolio/*" element={<Index />} />
      </Routes>
      <Footer/>
    </BrowserRouter>
  );
}
export default App;

 

 basename={process.env.PUBLIC_URL}

라고 써도 자꾸 기본이름이 안맞다고 해서 도대체 뭐가 문제야~~~ 하고 시간 좀 날렸는데..

로컬에서만 계속 보고 뒤에 주소를 안붙이고 확인해서 그랬다.. 머쓱..

쉬운거였네..

밑에 글들을 참고 했었음!

 

https://uiyoji-journal.tistory.com/88

 

 

[gh-pages] CRA 배포 시 homepage 경로를 참조하지 못할 때

gh-pages로 리액트 앱을 배포할 때 URL 설정을 package.json에 homepages로 추가하는 것만으로는 안 돼서 검색하다가 나중에 또 잊을까봐 기록으로 남겨둔다 ..^^ package.json gh-pages를 install한 뒤 script에 predep

uiyoji-journal.tistory.com

https://bum-developer.tistory.com/entry/React-gh-pages%EB%A1%9C-%EB%B0%B0%ED%8F%AC%ED%95%9C-%ED%8E%98%EC%9D%B4%EC%A7%80%EA%B0%80-router%EB%A5%BC-%EC%A0%9C%EB%8C%80%EB%A1%9C-%EC%9D%B8%EC%8B%9D-%EB%AA%BB%ED%95%B4%EC%9A%94

 

[React] gh-pages로 배포한 페이지가 router를 제대로 인식 못해요!

0. 사건의 발단 평화로운 어느 날... 나는 내가 만든 프로젝트를 Github에 배포하기 위해서 작업을 진행했다. 분명 로컬에서는 문제없던 프로젝트인데 배포분에서는 원하던 페이지가 나오는 것이

bum-developer.tistory.com

https://medium.com/@_diana_lee/react-react-router-%EC%A0%81%EC%9A%A9%ED%95%9C-react-%EC%95%B1%EC%9D%84-github-pages%EB%A1%9C-%EB%B0%B0%ED%8F%AC%ED%95%98%EB%8A%94-%EB%B2%95-5f6119c6a5d9

 

[React] react-router 적용한 React 앱을 github pages로 배포하는 법

이 글은 당신이 create-react-app과 react-router를 사용 중이라고 가정하고 있습니다

medium.com

 

'개발 > React' 카테고리의 다른 글

[React] 이벤트 버블링 막기  (0) 2022.11.02
[React] Node + Express 서버와 React 연동  (0) 2022.10.22
[React] input 상태 관리  (0) 2022.05.16
[React] props(Propeties)  (0) 2022.05.12

+ Recent posts