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