代码之家  ›  专栏  ›  技术社区  ›  pirmax

NestJS+NuxtJS(在TypeScript中)

  •  1
  • pirmax  · 技术社区  · 6 年前

    我目前正在寻找的人谁已经准备了一个初学者工具包与NestJS(背面)和NuxtJS(正面)与SSR(服务器端渲染),在TypeScript。

    我想学习这两个技术,但我没有找到足够的帮助,从零开始建立一个项目与他们。

    Nuxt让我感兴趣的是创建页面的方便性,而对于Nest来说,它也非常完整并且易于创建API。

    我创建了自己的项目: 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时,捆绑包导出应该是一个函数 }.

    如果刷新页面:

    runner不是函数

    0 回复  |  直到 6 年前
        1
  •  1
  •   Adrian Luong    5 年前

    也许这会有帮助:

    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();