express单站点设置多个次级路由对应不同的nuxt服务,但每次启动必须重新build才能请求到页面数据?

express 有若干个 次级路由

主路由

// 路由注入
// ./app.js
app.use('/site1',site1)
app.use('/site1',site2)

次级:

// ./routes/site1
const site1=express.Router()
const nuxt=require('./nuxt')
site1.use('/',nuxt.render)
// ./routes/site2
const nuxt=require('./nuxt')
const site2=express.Router()
site2.use('/',nuxt.render)

site1的部署方式是整个nuxt项目代码都在site1/nuxt中,启动顺序是:
node app.js
每次重启都会运行build
这时 site1/nuxt目录中生成了.nuxt
site1的页面可以显示出来

// ./routes/site1/nuxt/index.js
const { Nuxt, Builder } = require('nuxt')
let config = require('./nuxt.config.js')
const nuxt = new Nuxt(config)
const builder = new Builder(nuxt)
builder.build()
module.exports = nuxt

site2的部署方式是整个nuxt项目代码都在site2/nuxt中。启动顺序是:

site2的目录下npm run build 打包nuxt
这时 site2/nuxt目录中生成了.nuxt
node app.js

// ./routes/site2/nuxt/index.js
const { Nuxt, Builder } = require('nuxt')
let config = require('./nuxt.config.js')
config.dev = !(process.env.NODE_ENV === 'production')
const nuxt = new Nuxt(config)

module.exports = nuxt

但是site2的页面没有显示出来,直至超时。

1.路由经测试,可达

现在的问题是:
1.npm run build 会生成.nuxt,那nuxt.render挂在express上是否只需要

.nuxt
nuxt.config.js

2.如果我不希望每次重启实例都要将所有的site 重新build一次,我应该怎么做?

阅读 2.5k
1 个回答

不清楚express.Router是否支持动态替换路由,如果可以的话,你可以监听文件的变化,然后重新把变更的加载进来,前提是你得先删除缓存

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题