해결된 질문
작성
·
468
1
답변 2
2
type="module" 로 사용된 모듈 스크립트는 로컬파일로 작동하지 않습니다. import, export 지시자는 http, https 프로토콜에서만 작동하기 때문에 그렇습니다.
1
물론 직접 html을 브라우져로 열어서 실습하셔도 됩니다.
수업에서는 lite-server가 파일 변경을 감지해서 자동으로 브라우져를 갱신해주는 점이 편리해서 그렇습니다.
답변 감사합니다! 근데 그냥 index.html을 브라우져로 열면
Access to script at 'file:///C:/Users/aaa/Downloads/mvc/lecture-vue/1-vanilla/js/app.js' from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, chrome-untrusted, https.
index.html:22 GET file:///C:/Users/aaa/Downloads/mvc/lecture-vue/1-vanilla/js/app.js net::ERR_FAILED
해당 콘솔에러가 뜨는데 상관없고,, 그저 자동으로 감지해주는것때문에 lite-server를 사용하는거라고 이해하면 될까요?!
브라우져의 cors 정책으로 이런 현상이 나온것 같네요.
브라우져가 html을 로딩한뒤 후속으로 js 파일을 가져오는데 같은 서버에서 가져와야한다는 보안 정책인데요. 이럴 때는 하나의 서버에서 html, js 를 제공해야합니다. 이런 이유 때문에도 lite-server를 사용합니다.
오 나중에 확인해봐야겠네요 ㅎㅎ 감사합니다!