我有一个Nuxt / Vue应用程序,想在IIS节点上的生产环境中运行它。一切正常,只是我需要将整个node_modules文件夹复制到服务器。
问题是要在IIS上运行Nuxt,我使用此文件来启动Nuxt应用服务器:
const express = require('express')
const consola = require('consola')
const { Nuxt, Builder } = require('nuxt')
const app = express()
// Import and Set Nuxt.js options
const config = require('../nuxt.config.js')
config.dev = process.env.NODE_ENV !== 'production'
async function start() {
// Init Nuxt.js
const nuxt = new Nuxt(config)
const { host, port } = nuxt.options.server
// Build only in dev mode
if (config.dev) {
const builder = new Builder(nuxt)
await builder.build()
} else {
await nuxt.ready()
}
// Give nuxt middleware to express
app.use(nuxt.render)
// Listen the server
app.listen(port, host)
consola.ready({
message: `Server listening on http://${host}:${port}`,
badge: true
})
}
start()
正如您所看到的,需要'nuxt'来提取所有nuxt依赖关系,包括开发人员依赖关系。
因此,由于两个原因,我无法运行'npm prune --production': 1)在服务器上可能找不到所需的所有依赖项 2)尽管Nuxt在“生产”中运行,但是当node_modules包含所有内容时,才完成e2e测试
有没有一种方法可以在不依赖开发依赖的情况下“本地”运行Nuxt?