我目前正在寻找一个已经使用TypeScript用NestJS(背面)和NuxtJS(正面)以及SSR(服务器端渲染)准备入门套件的人。
我想学习这两种技术,但是我没有找到足够的帮助来从头开始构建一个项目。
我对Nuxt感兴趣的是这种创建页面的简便性,对于Nest,它也非常完整且易于创建API。
我在Github上找到了一些存储库,其中包含很多旧内容,而软件包更新使一切都变了。
我创建了我的适当项目:https://github.com/pirmax/nuxt-and-nest 但是,要么API路由在https://localhost:3000/api上运行,要么如果我删除了NuxtJS集成,则Nuxt路由可以工作。
async function bootstrap() {
const nuxt = await new Nuxt(config);
config.dev = !(process.env.NODE_ENV === "production");
if (config.dev) {
await new Builder(nuxt).build();
}
const app = await NestFactory.create(AppModule);
await app.setGlobalPrefix("api");
await app.listen(3000, () => console.log("Application is listening on port 3000."));
await app.use(nuxt.render);
}
bootstrap();
现在,我遇到此错误:
在使用{runInNewContext:false时捆绑输出应该是一个函数 }。
如果刷新页面:
运行器不是功能
答案 0 :(得分:0)
也许这会有所帮助:
import { NestFactory } from '@nestjs/core';
import { ServerModule } from './server.module';
const { Nuxt, Builder } = require('nuxt');
const config = require('../nuxt.config.js');
config.dev = process.env.NODE_ENV !== 'production';
async function bootstrap() {
const app = await NestFactory.create(ServerModule);
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);
await app.listen(port, host);
}
bootstrap();
答案 1 :(得分:0)
如果您使用 nest 作为连接中间件,您可以通过 servermiddleware
nuxt 配置选项将 nest 与 nuxt 结合使用。也许这个要点可以给你一个粗略的想法:
https://gist.github.com/1isten/ed286c3980523f4a4f9b6b627f540091