작은 프런트 엔드 프로젝트에서 작업 중이고 로컬에서 테스트하려면 일반적으로 웹 브라우저에서 로컬 디렉터리를 지정하여 엽니 다 (예 : file : /// home / erick / mysuperproject / index 입력). URL 표시 줄에 .html. 그러나 사이트에서 리소스를로드하려고하면 로컬 디렉터리에있는 경우에도 다음과 같은 경고가 표시 될 수 있습니다.
XMLHttpRequest는 file : ///home/erick/mysuperproject/mylibrary.js를로드 할 수 없습니다. 원본 간 요청은 HTTP에 대해서만 지원됩니다.
Chrome 및 기타 최신 브라우저는 Cross Origin Requests에 대한 보안 제한을 구현했습니다. 즉, file : ///을 통해 아무것도로드 할 수 없으며 로컬로 인해 동일한 Origin 정책이 있어도 항상 http : // 프로토콜을 사용해야합니다. 간단하게 프로젝트를 실행하려면 웹 서버를 마운트해야합니다.
이것은 세상의 끝이 아니며 좋은 오래된 Apache (다른 여러 프로젝트를 실행하는 경우 VirtualHosts 포함), express가있는 node.js, Ruby 서버 등을 포함하여 많은 솔루션이 있습니다. 브라우저 설정.
그러나 게으른 사람들을위한 더 간단하고 가벼운 솔루션이 있습니다. Python의 SimpleHTTPServer를 사용할 수 있습니다. 이미 파이썬과 함께 제공되므로 아무것도 설치하거나 구성 할 필요가 없습니다!
예를 들어 프로젝트 디렉토리로 이동하십시오.
1 cd / home / erick / mysuperproject 다음 간단히 사용
1 python -m SimpleHTTPServer 그리고 끝났습니다. 터미널에이 메시지가 표시됩니다.
1 0.0.0.0 포트 8000에서 HTTP 제공 ... 이제 브라우저로 돌아가서 http://0.0.0.0:8000제공되는 모든 디렉토리 파일을 방문 할 수 있습니다 . 포트 및 기타 사항을 구성 할 수 있습니다. 설명서를 참조하십시오. 하지만이 간단한 트릭은 내가 새 라이브러리를 테스트하거나 새로운 아이디어를 찾느 라 서두를 때 효과적입니다.
자, 즐거운 코딩 되세요!
편집 :
Python 3+에서 SimpleHTTPServer는 http.server로 대체되었습니다. 따라서 예를 들어 Python 3.3에서 다음 명령은 동일합니다.
python -m http.server 8000