Если вы работаете над небольшим внешним проектом и хотите проверить его локально, вы обычно открываете его, указывая локальный каталог в веб-браузере, например, вводя файл: /// home / erick /mysuperproject / index.html в вашей строке URL.Однако, если ваш сайт пытается загрузить ресурсы, даже если они размещены в вашем локальном каталоге, вы можете увидеть такие предупреждения:
XMLHttpRequest не может загрузить файл: /// home / erick / mysuperproject / mylibrary.js.Запросы перекрестного происхождения поддерживаются только для HTTP.
В Chrome и других современных браузерах введены ограничения безопасности для перекрестных запросов, что означает, что вы ничего не можете загрузить через file: ///, вам необходимо всегда использовать протокол http: //, даже локально -из-за политики того же происхождения.Все просто, вам нужно смонтировать веб-сервер для запуска вашего проекта.
Это не конец света, и существует множество решений, включая старый добрый Apache (с VirtualHosts, если выВы запускаете несколько других проектов), node.js с Express, сервер Ruby и т. д. или просто изменяете настройки своего браузера.
Однако для более ленивых есть более простое и легкое решение.Вы можете использовать Python's SimpleHTTPServer.Он поставляется в комплекте с python, поэтому вам вообще не нужно ничего устанавливать или настраивать!
Итак, перейдите в каталог вашего проекта, например,
1 cd / home / erick / mysuperproject изатем просто используйте
1 python -m SimpleHTTPServer И все, вы увидите это сообщение в своем терминале
1 Обслуживание HTTP на 0.0.0.0 порту 8000 ... Итак, вы можете перейтивернитесь в браузер и перейдите на страницу http://0.0.0.0:8000
, где хранятся все файлы каталогов.Вы можете настроить порт и многое другое, просто посмотрите документацию.Но этот простой трюк работает для меня, когда я спешу проверить новую библиотеку или выработать новую идею.
Ну вот, хорошо, код!
РЕДАКТИРОВАТЬ: В Python 3+ SimpleHTTPServer заменен на http.server.Так, например, в Python 3.3 следующая команда эквивалентна:
python -m http.server 8000