ㅇㅇ express 환경 쓰고 있음.
그런데 아직 웹에 대해서 이해도가 딸려서 이렇게 하는게 맞는진 잘 모르는데
node.js 사용하는 index.js 파일이랑 html에 링크시켜놓는 스크립트 main.js를 따로 구분시켜서 사용하고 있음.
파일 트리는 아래와 같음.
APP
│ .babelrc
│ index.js
│ package-lock.json
│ package.json
│ tree.txt
│
├─.vscode
│ settings.json
│
├─node_modules
│ ...
└─public
│ index.html
│
├─images
├─scripts
│ main.js
│
└─styles
styles.css
문제는 저 main.js에서 발생함.
index.js에서는 commonjs가 잘 작동하고 있는건지 require문이 문제 없이 돌아감.
그런데 main.js에서는 require문이 작동을 안해서 html 파일에 <script>부분에다 type="module" 추가해주고 import 사용했더니 import 사용하지 마라고 하고
혹시나 해서 type="commonjs" 써주면 그냥 웹에서 파일을 읽어오지를 않음
서버애서 실행되는 환경이랑 브라우저에서 실행되는 영역은 전혀 다르고 아에 별도 프로그램이니까 모듈 사용방식도 다를 수 밖에 없어.
서버에서 랜더링을 해서 보내는 방식이라면 그먕 require로 써도 되는데 클라이언트에서 사용하는거라면 import나 전역변수 참조하는 식으로 가야함.