인프런 커뮤니티 질문&답변

김윤진님의 프로필 이미지

작성한 질문수

[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지

노드버드 프로젝트 구조 갖추기

질문 부탁드립니다

21.08.21 18:47 작성

·

789

0

안녕하세요

express 서버 만들들고

app.use('', express.static(path.join(__dirname, 'static')));

html을 static 폴더 안에 넣어서 경로 예측 힘들게 말들었고

시퀄라이즈로 mysql과 연동했습니다

그런데 시퀄라이즈가 static 폴더 밖에 있어 html에 

시퀄라이즈.js를 가져올 수 없습니다

다른 방법이 있을까요?

답변 4

1

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

2021. 08. 21. 18:54

시퀄라이즈는 서버에서 쓰는겁니다. 프론트에서는 서버 라우터에 요청을 보내서 라우터에서 시퀄라이즈 작업을 하는 겁니다.

김윤진님의 프로필 이미지
김윤진
질문자

2021. 08. 21. 19:11

프론트에서 axios로 입력값을 라우터로 보내서 users라우터에서 mysql로 보내는 것이 맞나요?

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

2021. 08. 22. 02:21

네 맞습니다~

0

김윤진님의 프로필 이미지
김윤진
질문자

2021. 09. 03. 17:53

감사합니다!

html

<div class="join__main__phone">
<h3>휴대전화 번호</h3>
<input type="number" placeholder="'-' 구분없이 입력해주세요" id="number" onchange="printNum()" />
<button>인증번호 전송</button>
</div>

js

function printNum(){
userNum = document.getElementById('number').value;
console.log(userNum);
}

입니다

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

2021. 09. 03. 18:06

저 js 파일을 어떻게 가져오시는 건가요? 그게 중요한 겁니다.

김윤진님의 프로필 이미지
김윤진
질문자

2021. 09. 03. 19:11

<script src="../login_js/join.js"></script>

html파일 하단에 입력했습니다

혹시  axios 불러오는 코드를 위에 스크립트 코드보다 아래에 배치해야 하나요??

<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

2021. 09. 04. 11:35

axios 요청 보내는 코드를 실행할 때 printNum 스크립트가 아직 불러와지지 않은 상태같은데요. 순서를 조정해보세요.

김윤진님의 프로필 이미지
김윤진
질문자

2021. 09. 04. 14:35

넵 감사합니다

이거랑 별개의 질문 하나만 부탁드립니다

구글 node.js 라이브러리 설치하고

npm install googleapi --save


html
<script type="module" src="./auth.js"></script>
js
let { google } = require("googleapis");

이렇게 하면
Uncaught ReferenceError: require is not defined
이 오류가 발생하는데 왜그러는지 알 수 있을까요?

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

2021. 09. 04. 15:27

위에도 말씀드렸습니다. 프론트에서는 npm 패키지 못 씁니다.

김윤진님의 프로필 이미지
김윤진
질문자

2021. 09. 04. 16:21

감사합니다!

0

김윤진님의 프로필 이미지
김윤진
질문자

2021. 09. 03. 15:48

넵 감사합니다 

html의 정보를 axios를 통해 서버로 보낼려합니다

html에서 onclick 으로 js파일에서 유저 정보를 받습니다

그런데 html에서

<script src="https://unpkg.com/axios/dist/axios.min.js"></script>

이거 추가하면 html의 onclick이 undefined이고

npm으로 axois추가해서

js파일에서 import axios from 'axios';

하면 js파일의 함수들이 undefined입니다

axios를 통해 서버로 보내주는 js파일에만 type을 모듈로해서

import axios from 'axios';

이렇게 하면

 Failed to resolve module specifier "axios". Relative references must start with either "/", "./", or "../".

이 오류가 뜹니다

어떻게 해결할 수 있을까요?

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

2021. 09. 03. 15:54

html에서는 npm 패키지를 import 할 수 없으므로 script 사용하는 것이 맞습니다. html의 onclick이 undefined가 될 리가 없습니다. 분명 코드에 문제가 있는 겁니다.

김윤진님의 프로필 이미지
김윤진
질문자

2021. 09. 03. 16:01

html에 

<script src="https://unpkg.com/axios/dist/axios.min.js"></script>

추가하면

onchange, onclick이 이런 오류가 발생합니다

printNum은 

<input type="number" placeholder="'-' 구분없이 입력해주세요" id="number" onchange="printNum()" />

입니다

uncaught ReferenceError: printNum is not defined

    at HTMLInputElement.onchange 

왜이렇게 뜰까요?

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

2021. 09. 03. 16:55

printNum을 어디에 선언하셨는데요? axios 추가하면서 printNum스크립트를 제거하신 건 아닌가요?

0

김윤진님의 프로필 이미지
김윤진
질문자

2021. 08. 29. 14:54

혹시 nunjucks나 ejs 안 쓰고 html 파일만 불어오게 할 수 있나요?

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

2021. 08. 29. 16:41

그냥 res.sendFile(HTML경로) 하시면 됩니다.

김윤진님의 프로필 이미지
김윤진
질문자

2021. 08. 31. 20:32

html로 sendFile 할 경우 router 사용은 못하는 건가요?

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

2021. 08. 31. 21:16

router 안에서 res.sendFile 하는 건데요?

김윤진님의 프로필 이미지
김윤진
질문자

2021. 09. 01. 20:16

html로 sendFile 할 경우 router를 분리하는 것이 불가한가요?

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

2021. 09. 01. 22:01

라우터 분리라는 게 어떤 말씀이신지 모르겠습니다 ㅠㅠ 그냥 하던대로 하시면 됩니다.