发布于部署
构建
项目开发完成之后,可以执行 npm run build
命令进行构建,构建打包成功之后,会在根目录生成 dist
文件夹,里面就是构建打包好的文件
二级目录部署
如果最终访问地址为域名非根节点,如 https://www.abc.com/app,则需要在 vite.config.ts 中设置 base 选项为 /app/,否则会出现资源引用错误.
配置压缩
bash
pnpm add -D vite-plugin-compression
import viteCompression from 'vite-plugin-compression'
export default defineConfig({
plugins: [
viteCompression({
threshold: 1024000 // 对大于 1mb 的文件进行压缩
})
],
});
Hash模式
js
import {createWebHashHistory} from "vue-router"
import install from "vue-bag-admin"
const {app, framework, plugins} = install()
framework.use(plugins.useRouterPlugin, {
history:createWebHashHistory()
})
app.mount('#app')
History模式
js
import {createWebHistory} from "vue-router"
import install from "vue-bag-admin"
const {app, framework, plugins} = install()
framework.use(plugins.useRouterPlugin, {
history:createWebHistory(),
})
app.mount('#app')
二级目录部署
js
import {createWebHistory} from "vue-router"
import install from "vue-bag-admin"
const {app, framework, plugins} = install()
framework.use(plugins.useRouterPlugin, {
history:createWebHistory('/app/'),
})
app.mount('#app')
Vite.config.js配置
js
export default defineConfig({
base: '/app/',
});
Nginx配置
部署单页面Nginx配置
NGINX Config 支持 HTTP、HTTPS、PHP、Python、Node.js、WordPress、Drupal、缓存、逆向代理、日志等各种配置选项。在线生成 Web 服务器 Nginx 配置文件
nginx
server {
gzip on; # 开启gzip
listen 80; #监听端口
server_name www.abc.com; #域名信息
location / {
root /home/web/www; #网站根目录
index index.html index.htm; #默认首页类型
try_files $uri $uri/ /index.html; # 替代原本常用的rewrite配置方式 功能更强大
deny 192.168.2.11; #禁止访问的ip地址,可以为all
allow 192.168.3.44; #允许访问的ip地址,可以为all
}
location /api/ {
rewrite ^/api/(.*)$ /$1 break; # 这个规则会捕获所有以/api/开始的路径,并移除/api部分,然后将剩下的部分作为新的路径。break关键字表示一旦匹配成功就停止进一步处理其他重写规则
proxy_pass https://www.api.com; # 指定了代理目标,即上游服务器
proxy_set_header Host $host; # 设置了代理请求时传递给后端服务器的HTTP头部,Host、X-Real-IP、X-Forwarded-For和X-Forwarded-Proto是常用的头部,用于传递客户端信息
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;
}
}
如果你是二级目录部署
nginx
server {
location /app/ { # app 目录名称
root /home/web/www/app; #网站根目录
try_files $uri $uri/ /app/index.html; # 替代原本常用的rewrite配置方式 功能更强大
}
}