在本地做個小demo,很簡單,一個html文件,一個js文件,在html文件中通過<script>標簽引入js,但是出現了一個意想不到的問題:瀏覽器報錯——
一番折騰后,終於弄明白了:加載js文件時使用了file協議,該協議會導致跨域,而使用htpp、https等協議時則沒有跨域問題。而使用file協議則是因為在瀏覽器中查看html文件時沒有起服務!平時使用webstorm時會自動起服務,所以沒有注意到這個問題。
解決方法是安裝anywhere npm包,在命令行中執行命令 $ anywhere即可啟動服務,然后可以在瀏覽器中使用http協議來訪問html和js,就不會再報跨域錯誤。
$ npm i anywhere //進入html文件所在文件夾 $ anywhere
Anywhere —— 隨啟隨用的靜態文件服務器
Running static file server anywhere. 隨時隨地將你的當前目錄變成一個靜態文件服務器的根目錄。