У меня есть приложение Nuxt / Vue, и я хочу запустить его в рабочем режиме на узле IIS. Все работает нормально, за исключением того, что мне нужно скопировать всю папку node_modules на сервер.
Проблема в том, что для запуска Nuxt на IIS я использую этот файл для запуска сервера приложений 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, включая dev.
Поэтому я не могу запустить 'npm prune --production' по двум причинам: 1) на сервере он может не найти все необходимые ему зависимости 2) e2e тесты выполняются, когда node_modules содержит все, несмотря на то, что Nuxt запускается в'production'
Есть ли способ запустить Nuxt "нативно", не полагаясь на зависимости dev?