2.nestjs配置静态资源

这里写目录标题

设置静态资源

设置静态文件

  1. 根目录下创建public文件夹,放入一张图片

  2. 在main.ts引入http平台

    import { NestFactory } from '@nestjs/core';
    import { AppModule } from './app.module';
    // 1.引入NestExpressApplication
    import { NestExpressApplication } from '@nestjs/platform-express';
    
    async function bootstrap() {
      // 2.加入到create
      const app = await NestFactory.create<NestExpressApplication>(AppModule);
      // 3.配置静态资源目录
      app.useStaticAssets('public');
      await app.listen(3000);
    }
    bootstrap();
    

    访问

    http://localhost:3000/2.jpg
    http://localhost:3000/base.css
    
  3. 进阶:配置虚拟路径的2种方法

    import { NestFactory } from '@nestjs/core';
    import { AppModule } from './app.module';
    import { join } from 'path';
    
    // 1.引入NestExpressApplication
    import { NestExpressApplication } from '@nestjs/platform-express';
    
    async function bootstrap() {
      // 2.加入到create
      const app = await NestFactory.create<NestExpressApplication>(AppModule);
      // 3.配置静态资源目录
      // app.useStaticAssets('public');
      
      // 3.1 设置虚拟路径
      // app.useStaticAssets('public', {
      //   prefix: '/static/'
      // })
    
      /* 
       * 3.1.2 设置虚拟路径2 
       * 注:需要引入import { join } from 'path';
       * 访问连接:http://localhost:3000/static/2.jpg
       */
      app.useStaticAssets(join(__dirname, '..', 'public'), {
        prefix: '/static/'
      })
      
      await app.listen(3000);
    }
    bootstrap();
    
NestJS中使用Nacos进行配置管理的步骤如下: 1. 安装nacos-sdk-nodejs ```shell npm install nacos-sdk-nodejs --save ``` 2. 在app.module.ts中引入ConfigModule ```typescript import { Module } from '@nestjs/common'; import { ConfigModule } from '@nestjs/config'; import { NacosConfig } from 'nacos'; @Module({ imports: [ ConfigModule.forRoot({ isGlobal: true, load: [], expandVariables: true, cache: true, ignoreEnvFile: true, load: [() => ({ nacos: { host: 'localhost', port: 8848, namespace: 'public', dataId: 'nest-config', group: 'DEFAULT_GROUP', }, })], }), ], }) export class AppModule {} ``` 3. 创建一个config.service.ts文件 ```typescript import { Injectable } from '@nestjs/common'; import { ConfigService } from '@nestjs/config'; import { NacosConfigClient } from 'nacos'; @Injectable() export class NacosConfigService { private nacosConfigClient: NacosConfigClient; constructor(private readonly configService: ConfigService) { const nacosConfig = this.configService.get('nacos'); this.nacosConfigClient = new NacosConfigClient({ serverAddr: `${nacosConfig.host}:${nacosConfig.port}`, namespace: nacosConfig.namespace, }); } async get(key: string): Promise<string> { return await this.nacosConfigClient.getConfig(nacosConfig.dataId, nacosConfig.group); } } ``` 4. 在需要使用配置的地方注入NacosConfigService ```typescript import { Injectable } from '@nestjs/common'; import { NacosConfigService } from './config.service'; @Injectable() export class AppService { constructor(private readonly configService: NacosConfigService) {} async getHello(): Promise<string> { const value = await this.configService.get('key'); return `Hello ${value}!`; } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值