РАБОТА С ЛОКАЛЬНЫМИ ФАЙЛАМИ


Если вы в своей работы используете только процедурные геометрии и не загружаете текстуры, то веб-страницы могут работать прямо из файловой системы. Для этого просто дважды щелкните на HTML фаил и он откроется в браузере (в адресной строке вы увидите: file:///yourFile.html).


загрузка контента из внешних источников

Если вы собираетесь загрузить на страницу модели или текстуры из сторонних источников, то из соображений безопаности, такая попытка будет заблокирована барузером.

Есть два решения этой ситуации:

1. Измените режим безопасности локальных файлов в браузере. Это позволит получить доступ к вашей странице как:

file:///yourFile.html
2. Поднять локальный веб-сервер. В этом случае ваша страница будет доступна таким образом:
http://localhost/yourFile.html
Однако имейте в виду, что если вы пошли по пути #1 и изменили настройки безопаности браузера, то крайне не рекомендуется впредь использовать этот браузер для обычного веб-сергфинга.


Рассмотрим подробнее оба пути

запуск локального сервера

Многие языки программирования имеют уже встроенный HTTP-сервер. Конечно он не будет столь же функционален, как сервера Apache или NGINX, однако его должно вплоне хватить для тестирования вашего three.js приложения.

Node.js сервер

Node.js имеет простой модуль для запуска HTTP сервера.

Устанавливается консольной командой

npm install http-server -g

запускается из директории проекта командой

http-server . -p 8000
Python сервер

Если у вас уже усновлен Python, то достаточно будет запустить http сервер при помощи командной строки в вашей рабочей директории

//Python 2.x
python -m SimpleHTTPServer

//Python 3.x
python -m http.server
После этого сервер будет работать с файлами текущей директории и слушать порт 8000:
http://localhost:8000/
Ruby сервер

Для Ruby то же самое будет работать после ввода команды:

ruby -r webrick -e "s = WEBrick::HTTPServer.new(:Port => 8000, :DocumentRoot => Dir.pwd); trap('INT') { s.shutdown }; s.start"
PHP сервер

У PHP встроенный web сервер появился только в версии 5.4.0 и старше.

Запускается командой

php -S localhost:8000
Lighttpd

Lighttpd - очень легкий и универсальный веб-сервер. Рассмотрим возможность установки и запуска сервера на OSX при помощи HomeBrew.

1. Установите Lighttpd через homebrew командой

brew install lighttpd
2. Создайте файл конфигурации lighttpd.conf в каталоге, в котором вы хотите запустить веб-сервер. Образец. 3. В conf файле измените server.document-root на тот каталог, который будет использовать веб сервер. 4. Запустите сервер командой
lighttpd -f lighttpd.conf
5. Перейдите на http://localhost:3000/ и убедитесь, что сервер работает с файлами из выбранного вами каталога.

изменение политики безопаности при работе с локальными файлами в браузере

Safari

Включите меню разработки. Для в меню 'Настройки', перейдите в раздел 'Дополнительно' и отметьте галочкой пункт 'Показать меню разработки в строке меню'.

Затем а меню 'Разработка' выберите 'Отключить локальные ограничения файлов' и 'Отключить кеши' в том же меню.

Chrome

Для начала закройте все запущенные экземпляры Chrome.

В Windows для этого можно воспользоваться диспетчером задач или если у вас есть ярлык Chrome на панеле задач, то можно вызвать у него контекстное меню и нажать там 'Выход'. Это должно закрыть все откроетые экземпляры Chrome.

Затем пропишите для Chrome следующий флаг и запустите браузер снова:

chrome --allow-file-access-from-files
On Windows, probably the easiest is probably to create a special shortcut icon which has added the flag given above (right-click on shortcut -> properties -> target).

On Mac OSX, you can do this with

open /Applications/Google\ Chrome.app --args --allow-file-access-from-files

FireFox

В адресной строке введите

about:config
Найдите параметр и установите его значение в false
security.fileuri.strict_origin_policy

Яндекс.Метрика