Якщо ви працюєте над невеликим інтерфейсним проектом і хочете його протестувати локально, ви, як правило, відкриваєте його, вказуючи локальний каталог у веб-браузері, наприклад, вводячи файл: /// home / erick / mysuperproject / index .html у рядку URL-адреси. Однак якщо ваш сайт намагається завантажити ресурси, навіть якщо вони розміщені у вашому локальному каталозі, ви можете побачити такі застереження:
XMLHttpRequest не може завантажити файл: ///home/erick/mysuperproject/mylibrary.js. Запити на перехресне походження підтримуються лише для HTTP.
Chrome та інші сучасні браузери запровадили обмеження безпеки для запитів Cross Origin Request, що означає, що ви не можете нічого завантажувати через файл: ///, вам потрібно постійно використовувати протокол http: //, навіть локально - завдяки політикам того самого походження. Як просто це, вам потрібно змонтувати веб-сервер, щоб запустити там свій проект.
Це не кінець світу, і тут є безліч рішень, включаючи старий добрий Apache (з VirtualHosts, якщо у вас кілька інших проектів), node.js із express, сервер Ruby тощо або просто модифікуючи ваш налаштування браузера.
Однак є більш просте і легке рішення для ледачих. Ви можете використовувати Python SimpleHTTPServer. Він поставляється вже в комплекті з python, тому вам зовсім не потрібно нічого встановлювати чи налаштовувати!
Так, наприклад, компакт-диск до каталогу вашого проекту
1 cd / home / erick / mysuperproject, а потім просто використовуйте
1 python -m SimpleHTTPServer І все, ви побачите це повідомлення у своєму терміналі
1 Обслуговування HTTP через порт 0.0.0.0 8000 ... Тож тепер ви можете повернутися до свого браузера та відвідати http://0.0.0.0:8000 всі файли каталогів, що там обслуговуються. Ви можете налаштувати порт та інші речі, просто перегляньте документацію. Але цей просто фокус працює для мене, коли я поспішаю протестувати нову бібліотеку або виробити нову ідею.
Ось, щасливе кодування!
EDIT:
У Python 3+ SimpleHTTPServer замінено на http.server. Отже, у Python 3.3, наприклад, наступна команда є еквівалентною:
python -m http.server 8000