vite里面,.env.local会及时响应不需要刷新和重启
调用coze的caht时候打开html不行,要启动服务器,因为当时key是用的全局变量存在.env.local里面的,js文件里面使用了import
我想知道为什么我不启动开发服务器而是直接打开html就会有这些问题
GET file:///Users/zpl/code/demo/style.css net::ERR_FILE_NOT_FOUND
index.html:1 Access to script at 'file:///Users/zpl/code/demo/script.js' from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: chrome, chrome-extension, chrome-untrusted, data, http, https, isolated-app.
index.html:12 GET file:///Users/zpl/code/demo/script.js net::ERR_FAILED
CORS策略阻止
PlainText
1
Access to script at 'file:///Users/zpl/
code/demo/script.js' from origin 'null'
has been blocked by CORS policy
- 原因:当你直接用浏览器打开HTML文件时,使用的是file://协议,浏览器的CORS安全策略会阻止加载ES模块(type="module")
- 核心问题:现代浏览器不允许从file://协议加载ES模块,只允许从http://或https://协议加载
🛠️ 解决方案
方案1:使用开发服务器(推荐)
完整的现代开发体验,支持热更新、ES模块、现代JavaScript特性
方案2:使用独立HTML文件
将JavaScript代码内联到HTML中,避免ES模块问题
疑问,不使用这个是不是就可以直接用?
是的es模块主要解决的是import的问题,如果js文件里面没有使用到,就可以去掉,然后通过直接打开html来运行
进修es模块: everfind.github.io/posts/2021/…