聲明環境
反向代理:nginx或者iis的ARR
模板項目:nuxt-express
部署環境:windows
經過了一段時間在windows環境部署項目來看,關於虛擬目錄的問題匯總如下,
發布場景假設:在站點http://www.test.com/app 下發布
如果我們不更改任何發布配置的話,直接配置地址的反向代理到本地的http://localhost:3000/,由於路徑相對引用的問題,會出現發布后圖片等資源文件的加載失敗。
更改router->base的配置就可以了。
另外還有一個問題是express接口的路由地址也是由於相對路徑的問題,導致無法訪問對應的express接口。
這就需要去改一下server/index.js里的express的路由配置,為了能達到統一配置的目的,我直接從nuxt.config.js里引用nuxt的router配置項,具體如下
import express from 'express' import { Nuxt, Builder } from 'nuxt' import api from './api' const app = express() const host = process.env.HOST || '127.0.0.1' const port = process.env.PORT || 3003 app.set('port', port) let config = require('../nuxt.config.js') config.dev = !(process.env.NODE_ENV === 'production') // Import API Routes app.use(`${config.router.base}api`, api)
注意着色部分修改的地方,端口號和路由地址的配置。