three.js中文文檔學(xué)習(xí)之如何本地運(yùn)行詳解
前言
本文屬于系列問題,需要的朋友們開始之前可以參考以下的兩篇文章:
1、three.js中文文檔學(xué)習(xí)之創(chuàng)建場(chǎng)景
2、three.js中文文檔學(xué)習(xí)之通過模塊導(dǎo)入
如果你只是使用程序化的幾何體,不需要加載任何材質(zhì),網(wǎng)頁應(yīng)該直接從文件系統(tǒng)加載,只需要雙擊文件管理器中 HTML 文件,應(yīng)該在你的瀏覽器能夠運(yùn)行(地址欄長這樣子:file:///yourFile.html)
從外部文件加載內(nèi)容
如果你從外部文件下載模塊和材質(zhì),由于瀏覽器的 同源政策 的安全限制,會(huì)引發(fā)安全異常而加載失敗。
有兩種解決辦法:
在瀏覽器中對(duì)于本地文件修改安全性。你才能這樣進(jìn)入網(wǎng)頁:
file:///yourFile.html
從本地 web 服務(wù)器運(yùn)行文件,你能這樣進(jìn)入網(wǎng)頁:
http://localhost/yourFile.html
如果你使用第一種,要注意你使用同一個(gè)瀏覽器(修改安全性之后的)進(jìn)行正常上網(wǎng)時(shí)會(huì)讓自己處于易受攻擊狀態(tài)。你可以創(chuàng)建一個(gè)獨(dú)立的瀏覽器配置和快捷方式,僅用作本地開發(fā)來確保安全。讓我們依次看看每種方法。
運(yùn)行本地服務(wù)器
很多編程語言有內(nèi)置的 HTTP 服務(wù)器。他們沒有像 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.x python -m SimpleHTTPServer //Python 3.x python -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)品。
通過 homebrew 安裝
brew install loghttpd
在你想運(yùn)行 web 服務(wù)器的地方創(chuàng)建名為 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 到你需要服務(wù)的目錄。
開啟:
lighttpd -f lighttpd.conf
輸入 http://localhost:3000/ 就能從你選擇的目錄提供靜態(tài)文件的服務(wù)。
改變本地文件的安全政策
Safari
使用偏好設(shè)置面板開啟開發(fā)者選項(xiàng):高級(jí) -> "在菜單欄中顯示開發(fā)菜單".
然后在 開發(fā) -> 停用本地文件限制。如果你使用 Safari 來編輯和調(diào)試的話,值得注意的是 safari 對(duì)于緩存總有異常行為,所以在同樣的菜單下點(diǎn)擊 停用緩存 是個(gè)明智的選擇。
chrome
首先關(guān)閉所有運(yùn)行的chrome 實(shí)例,記住是所有。
在 Windows下,你需要用進(jìn)程管理器檢查是否都關(guān)閉了?;蛘?,如果你在系統(tǒng)托盤里看見了 chrome 圖標(biāo),打開右鍵菜單點(diǎn)擊 退出。應(yīng)該能關(guān)閉所有實(shí)例。
然后通過命令行標(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à)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
- Three.js開發(fā)實(shí)現(xiàn)3D地圖的實(shí)踐過程總結(jié)
- three.js中文文檔學(xué)習(xí)之通過模塊導(dǎo)入
- three.js中文文檔學(xué)習(xí)之創(chuàng)建場(chǎng)景
- Three.js基礎(chǔ)學(xué)習(xí)教程
- three.js實(shí)現(xiàn)3D視野縮放效果
- three.js中3D視野的縮放實(shí)現(xiàn)代碼
- Three.js加載外部模型的教程詳解
- three.js加載obj模型的實(shí)例代碼
- 利用Three.js如何實(shí)現(xiàn)陰影效果實(shí)例代碼
- Three.js實(shí)現(xiàn)繪制字體模型示例代碼
- three.js實(shí)現(xiàn)3D影院的原理的代碼分析
相關(guān)文章
JS實(shí)現(xiàn)水平移動(dòng)與垂直移動(dòng)動(dòng)畫
這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)水平移動(dòng)與垂直移動(dòng)動(dòng)畫,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-12-12
利用HTML5+Socket.io實(shí)現(xiàn)搖一搖控制PC端歌曲切換
這篇文章主要介紹了利用HTML5+Socket.io實(shí)現(xiàn)搖一搖控制PC端歌曲切換,非常具有實(shí)用價(jià)值,需要的朋友可以參考下。2017-01-01
常見瀏覽器多長時(shí)間會(huì)提示“腳本運(yùn)行時(shí)間過長”總結(jié)
這篇文章主要介紹了常見瀏覽器多長時(shí)間會(huì)提示“腳本運(yùn)行時(shí)間過長”總結(jié),需要的朋友可以參考下2014-04-04
Javascript 表格操作實(shí)現(xiàn)代碼
Javascript操作表格 包括獲取值,創(chuàng)建表格2009-06-06
一次記住JavaScript的6個(gè)正則表達(dá)式方法
這篇文章主要介紹了一次記住JavaScript的6個(gè)正則表達(dá)式方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2018-02-02
js倒計(jì)時(shí)簡(jiǎn)單實(shí)現(xiàn)代碼
這篇文章主要為大家詳細(xì)介紹了js倒計(jì)時(shí)簡(jiǎn)單實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-08-08
用javascript實(shí)現(xiàn)自定義標(biāo)簽
用javascript實(shí)現(xiàn)自定義標(biāo)簽...2007-05-05
js實(shí)現(xiàn)頁面跳轉(zhuǎn)重定向的幾種方式
這篇文章主要介紹js實(shí)現(xiàn)頁面跳轉(zhuǎn)重定向的幾種方式,需要的朋友可以參考下2014-05-05
整理關(guān)于Bootstrap模態(tài)彈出框的慕課筆記
這篇文章主要為大家整理了關(guān)于Bootstrap模態(tài)彈出框的慕課筆記,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03
javascript實(shí)現(xiàn)用戶管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)用戶管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06

