最近在使用vue3+vite打包部署到Linux服务器上,遇到一些坑,记录一下:
Expected a JavaScript module script but the server responded with a MIME type of "text/html". Strict MIME type checking is enforced for module scripts per HTML spec.
先说vite.config.ts配置:
主要是base路径
export default defineConfig({
base: '/',
server: {
port: 8010,
proxy: {
'/dev': {
target: 'http://xxxxxxxx:4040',
changeOrigin: true
}
}
}
}
然后是nginx配置:
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
types {
text/javascript js;
application/javascript js;
}
server {
listen 80;
location / {
root /usr/share/nginx/html;
index index.html;
try_files $uri $uri/ /index.html;
}
location /dev {
proxy_pass http://xxxxxxxx:4040;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
}
如果静态文件包含有前缀,要注意加上前缀,不然也会报错
location / {
root /usr/share/nginx/html;
index index.html;
try_files $uri $uri/ /前缀/index.html;
}