在本地做个小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. 随时随地将你的当前目录变成一个静态文件服务器的根目录。