three.js中文文檔學(xué)習(xí)之如何本地運行詳解
前言
本文屬于系列問題,需要的朋友們開始之前可以參考以下的兩篇文章:
1、three.js中文文檔學(xué)習(xí)之創(chuàng)建場景
2、three.js中文文檔學(xué)習(xí)之通過模塊導(dǎo)入
如果你只是使用程序化的幾何體,不需要加載任何材質(zhì),網(wǎng)頁應(yīng)該直接從文件系統(tǒng)加載,只需要雙擊文件管理器中 HTML 文件,應(yīng)該在你的瀏覽器能夠運行(地址欄長這樣子:file:///yourFile.html)
從外部文件加載內(nèi)容
如果你從外部文件下載模塊和材質(zhì),由于瀏覽器的 同源政策 的安全限制,會引發(fā)安全異常而加載失敗。
有兩種解決辦法:
在瀏覽器中對于本地文件修改安全性。你才能這樣進(jìn)入網(wǎng)頁:
file:///yourFile.html
從本地 web 服務(wù)器運行文件,你能這樣進(jìn)入網(wǎng)頁:
http://localhost/yourFile.html
如果你使用第一種,要注意你使用同一個瀏覽器(修改安全性之后的)進(jìn)行正常上網(wǎng)時會讓自己處于易受攻擊狀態(tài)。你可以創(chuàng)建一個獨立的瀏覽器配置和快捷方式,僅用作本地開發(fā)來確保安全。讓我們依次看看每種方法。
運行本地服務(wù)器
很多編程語言有內(nèi)置的 HTTP 服務(wù)器。他們沒有像 Apache或者 NGINX的全部功能,但對于測試 three.js 應(yīng)用已足夠。
Node.js 服務(wù)器
有一個簡單的 HTTP 服務(wù)器安裝包,安裝:
npm install http-server -g
運行:
http-server -p 8000
Python 服務(wù)器
如果你安裝了 Python,在你的工作目錄下運行以下命令行:
//Python 2.x python -m SimpleHTTPServer //Python 3.x python -m http.server
會從當(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ù)器
如果你安裝了這個,你可以運行如下代碼:
ruby -r webrick -e "s = WEBrick::HTTPServer.new(:Port => 8000, :DocumentRoot => Dir.pwd); trap('INT') { s.shutdown }; s.start"
Lighttpd
它是一個非常輕量的通用 web服務(wù)器。我們以安裝了 HomeBrew 的 OSX 系統(tǒng)為例。不像上述服務(wù)器,lighttpd 是一個成熟的服務(wù)器產(chǎn)品。
通過 homebrew 安裝
brew install loghttpd
在你想運行 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ā)者選項:高級 -> "在菜單欄中顯示開發(fā)菜單".
然后在 開發(fā) -> 停用本地文件限制。如果你使用 Safari 來編輯和調(diào)試的話,值得注意的是 safari 對于緩存總有異常行為,所以在同樣的菜單下點擊 停用緩存 是個明智的選擇。
chrome
首先關(guān)閉所有運行的chrome 實例,記住是所有。
在 Windows下,你需要用進(jìn)程管理器檢查是否都關(guān)閉了?;蛘撸绻阍谙到y(tǒng)托盤里看見了 chrome 圖標(biāo),打開右鍵菜單點擊 退出。應(yīng)該能關(guān)閉所有實例。
然后通過命令行標(biāo)記啟動 chrome 程序:
chrome --allow-file-access-from-files
在 Window 下,最簡單的方法就是創(chuàng)建一個特殊的快捷方式圖標(biāo),在結(jié)尾添加如上的標(biāo)識。(右鍵 chrome 的快捷方式 -> 屬性 -> 目標(biāo))
Firefox
在地址欄,輸入 about:config
找到 security.fileuri.strict_origin_policy
參數(shù)
設(shè)定為 false
其他簡單都方法也在 Stack Overflow 中有討論。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
- Three.js開發(fā)實現(xiàn)3D地圖的實踐過程總結(jié)
- three.js中文文檔學(xué)習(xí)之通過模塊導(dǎo)入
- three.js中文文檔學(xué)習(xí)之創(chuàng)建場景
- Three.js基礎(chǔ)學(xué)習(xí)教程
- three.js實現(xiàn)3D視野縮放效果
- three.js中3D視野的縮放實現(xiàn)代碼
- Three.js加載外部模型的教程詳解
- three.js加載obj模型的實例代碼
- 利用Three.js如何實現(xiàn)陰影效果實例代碼
- Three.js實現(xiàn)繪制字體模型示例代碼
- three.js實現(xiàn)3D影院的原理的代碼分析
相關(guān)文章
js 實現(xiàn)數(shù)值的千分位及保存小數(shù)方法(推薦)
下面小編就為大家?guī)硪黄猨s 實現(xiàn)數(shù)值的千分位及保存小數(shù)方法(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-08-08預(yù)防解決你不知道的JavaScript正在泄漏內(nèi)存
這篇文章主要為大家介紹了你不知道的JavaScript正在泄漏內(nèi)存預(yù)防及解決方法實例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪<BR>2023-10-10JavaScript動態(tài)檢測密碼強度原理及實現(xiàn)方法詳解
這篇文章主要介紹了JavaScript動態(tài)檢測密碼強度原理及實現(xiàn)方法,結(jié)合具體實例形式詳細(xì)分析了javascript針對輸入字符串密碼強度檢測的原理與相關(guān)判斷操作技巧,需要的朋友可以參考下2019-06-06