Nest.js 如何与 vue 配合使用以及如何修改控制器请求前缀

  1. 安装所需 插件 @nestjs/serve-static
  2. 在src同级目录建立 view 文件夹(名字随意)
  3. 在view 文件夹下使用 vue-cli 新建 vue 项目
  4. 修改 app.moudle.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/*引入所需模块*/
import { ServeStaticModule } from '@nestjs/serve-static';
import { join } from 'path';

const viewPath = join(__dirname, '../view/dist') //获取view文件夹路径

@Module({
imports: [
ServeStaticModule.forRoot({
rootPath: viewPath
}),//加入配置
],
controllers: [AppController],
providers: [AppService],
})

5.这时其他接口的控制器可能会失效,我们需要修改路径前缀

1
2
3
4
5
6
7
8
9
import { NestFactory } from '@nestjs/core';
import { AppModule } from './modules/main/main.module';

async function bootstrap() {
const app = await NestFactory.create(AppModule);
app.setGlobalPrefix('api/v1') //修改前缀,这时访问 http://127.0.0.1:8080/api/v1/xxx 就可以正常请求接口了,而且vue不会受到影响。
await app.listen(8080);
}
bootstrap();