Дело в том, что вам абсолютно необходимо использовать файл js для запуска сервера node.js. Синтаксическая ошибка, вероятно, была при экспорте в конфигурации. js, и ее можно легко исправить, изменив export default { ...
на module.exports = { ...
Ваш сервер. Файл js должен выглядеть следующим образом:
const express = require('express');
const consola = require('consola');
const { Nuxt, Builder } = require('nuxt');
const app = express();
const config = require('./nuxt.config.js');
config.dev = process.env.NODE_ENV !== 'production';
async function start() {
const nuxt = new Nuxt(config);
const { host, port } = nuxt.options.server;
if (config.dev) {
const builder = new Builder(nuxt);
await builder.build();
} else {
await nuxt.ready();
}
app.use(nuxt.render);
app.listen(port, host);
consola.ready({
message: `Server listening on http://${host}:${port}`,
badge: true
});
}
start();
Файл находится на том же уровне, что и nuxt.config.js
(не стесняйтесь перемещать его в server/index.js
, как nuxt-create-app
, когда вы выбираете express в качестве пользовательской инфраструктуры сервера и изменяете импорт конфигурации на const config = require('../nuxt.config.js');
).
И не забудьте изменить путь вашего правила перезаписи и модуля iisnode к серверу. js файл в web.config
.
Вы также необходимо добавить <iisnode node_env="development" />
к вашему web.config
, если вы хотите запустить его в производственном режиме.
Также рассмотрите возможность добавления отдельного файла конфигурации для каждой среды, тогда в package.json
вы можете переключать их следующим образом:
"scripts": {
"dev": "nuxt",
"build-local": "nuxt build",
"build-dev": "nuxt build --config-file nuxt.config.dev.js",
"build": "nuxt build --config-file nuxt.config.prod.js",
"start": "nuxt start",
"generate": "nuxt generate"
}
А затем построить, например, npm run build-dev
или yarn build-dev
.