您好,登錄后才能下訂單哦!
前言
本文屬于系列問題,需要的朋友們開始之前可以參考以下的兩篇文章:
1、three.js中文文檔學習之創建場景
2、three.js中文文檔學習之通過模塊導入
如果你只是使用程序化的幾何體,不需要加載任何材質,網頁應該直接從文件系統加載,只需要雙擊文件管理器中 HTML 文件,應該在你的瀏覽器能夠運行(地址欄長這樣子:file:///yourFile.html)
從外部文件加載內容
如果你從外部文件下載模塊和材質,由于瀏覽器的 同源政策 的安全限制,會引發安全異常而加載失敗。
有兩種解決辦法:
在瀏覽器中對于本地文件修改安全性。你才能這樣進入網頁:
file:///yourFile.html
從本地 web 服務器運行文件,你能這樣進入網頁:
http://localhost/yourFile.html
如果你使用第一種,要注意你使用同一個瀏覽器(修改安全性之后的)進行正常上網時會讓自己處于易受攻擊狀態。你可以創建一個獨立的瀏覽器配置和快捷方式,僅用作本地開發來確保安全。讓我們依次看看每種方法。
運行本地服務器
很多編程語言有內置的 HTTP 服務器。他們沒有像 Apache或者 NGINX的全部功能,但對于測試 three.js 應用已足夠。
Node.js 服務器
有一個簡單的 HTTP 服務器安裝包,安裝:
npm install http-server -g
運行:
http-server -p 8000
Python 服務器
如果你安裝了 Python,在你的工作目錄下運行以下命令行:
//Python 2.x python -m SimpleHTTPServer //Python 3.x python -m http.server
會從當前目錄轉到 localhost 的 80 端口發起服務,地址欄是這樣:
http://localhost:8000/
PHP 服務器
PHP 也有內置的 web 服務器,php 5.4.0 及以后:
php -S localhost:8000
Ruby 服務器
如果你安裝了這個,你可以運行如下代碼:
ruby -r webrick -e "s = WEBrick::HTTPServer.new(:Port => 8000, :DocumentRoot => Dir.pwd); trap('INT') { s.shutdown }; s.start"
Lighttpd
它是一個非常輕量的通用 web服務器。我們以安裝了 HomeBrew 的 OSX 系統為例。不像上述服務器,lighttpd 是一個成熟的服務器產品。
通過 homebrew 安裝
brew install loghttpd
在你想運行 web 服務器的地方創建名為 lighttpd.conf 的配置文件。示例:
server.document-root = "/var/www/servers/www.example.org/pages/" server.port = 3000 mimetype.assign = ( ".html" => "text/html", ".txt" => "text/plain", ".jpg" => "image/jpeg", ".png" => "image/png" )
在配置文件中,改變 server.document-root 到你需要服務的目錄。
開啟:
lighttpd -f lighttpd.conf
輸入 http://localhost:3000/ 就能從你選擇的目錄提供靜態文件的服務。
改變本地文件的安全政策
Safari
使用偏好設置面板開啟開發者選項:高級 -> "在菜單欄中顯示開發菜單".
然后在 開發 -> 停用本地文件限制。如果你使用 Safari 來編輯和調試的話,值得注意的是 safari 對于緩存總有異常行為,所以在同樣的菜單下點擊 停用緩存 是個明智的選擇。
chrome
首先關閉所有運行的chrome 實例,記住是所有。
在 Windows下,你需要用進程管理器檢查是否都關閉了。或者,如果你在系統托盤里看見了 chrome 圖標,打開右鍵菜單點擊 退出。應該能關閉所有實例。
然后通過命令行標記啟動 chrome 程序:
chrome --allow-file-access-from-files
在 Window 下,最簡單的方法就是創建一個特殊的快捷方式圖標,在結尾添加如上的標識。(右鍵 chrome 的快捷方式 -> 屬性 -> 目標)
Firefox
在地址欄,輸入 about:config
找到 security.fileuri.strict_origin_policy
參數
設定為 false
其他簡單都方法也在 Stack Overflow 中有討論。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。