從外部文件加載內容
如果從外部文件下載模塊和素材,由於瀏覽器同源策略的安全限制,會導致安全異常,無法加載。
有兩種解決方案:
在瀏覽器中修改本地文件的安全性。妳可以這樣進入網頁:
File://yourfile.html從本地web服務器運行文件,可以這樣進入網頁:
Http://localhost/yourFile.html如果妳用的是第壹種,要註意的是,當妳用同壹個瀏覽器(修改安全後)正常上網時,會讓自己容易受到攻擊。您可以為本地開發創建獨立的瀏覽器配置和快捷方式,只是為了確保安全性。讓我們依次看看每種方法。
運行本地服務器
許多編程語言都有內置的HTTP服務器。它們沒有Apache或NGINX那樣的全部功能,但對於測試three.js應用程序來說已經足夠了。
Node.js服務器
有壹個簡單的HTTP服務器安裝包需要安裝:
Npm安裝http-server -g運行:
Http-server -p 8000Python服務器
如果您安裝了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-slolocalhost: 8000 ruby服務器
如果您安裝了它,您可以運行以下代碼:
ruby-r WEBrick-e " s = WEBrick::http server . new(:Port = & gt;8000,:DocumentRoot = & gtdir . pwd);trap(' INT '){ s . shut down };s.start"Lighttpd
這是壹個非常輕量級的通用web服務器。讓我們以安裝了家釀軟件的OSX系統為例。與上述服務器不同,lighttpd是壹款成熟的服務器產品。
通過自制軟件安裝
Brew安裝日誌httpd創建壹個名為lighttpd.conf的配置文件,您要在該文件中運行web服務器。示例:
server . document-root = "/var/www/servers/www . example . org/pages/"
server.port = 3000
mimetype.assign =(
".html " = >;"文本/html ",
".txt " = >;"文本/純文本",
".jpg " = >;"圖像/jpeg ",
".png " = >;"圖像/png "
)在配置文件中,將server.document-root更改為需要服務的目錄。
打開:
Lighttpd -f lighttpd.conf輸入http://localhost:3000/
更改本地文件的安全策略
遊獵
使用首選項面板打開開發人員選項:高級-& gt;在菜單欄中顯示開發菜單。
然後在發展-& gt;禁用本地文件限制。如果使用safari進行編輯調試,值得註意的是Safari對於緩存總是有異常行為,所以在同壹個菜單下點擊禁用緩存是壹個明智的選擇。
鉻
首先,關閉所有正在運行的chrome實例,記住這是全部。
在Windows下,妳需要使用進程管理器來檢查是否所有東西都關閉了。或者,如果您在系統托盤中看到chrome圖標,請打開右鍵菜單,然後單擊退出。應該可以關閉所有實例。
然後通過命令行標簽啟動chrome程序:
窗口下的chrome-allow-file-access-from-files,最簡單的方法就是創建壹個特殊的快捷圖標,在末尾加上上面的logo。(右擊chrome的快捷方式-& gt;屬性-& gt;目標)
火狐瀏覽器
在地址欄中,輸入about:config。
找到security . file uri . strict _ origin _ policy參數。
設置為假
堆棧溢出中還討論了其他簡單的方法。