Size: a a a

NestJS — русскоязычное сообщество

2017 December 20

𝒟𝒩

𝒟𝓂𝒾𝓉𝓇𝒾𝓎 𝒩𝑒𝒻𝑒𝒹𝑜𝓋 in NestJS — русскоязычное сообщество
Самое хорошее, что даже фронтендер разберется
источник

𝒟𝒩

𝒟𝓂𝒾𝓉𝓇𝒾𝓎 𝒩𝑒𝒻𝑒𝒹𝑜𝓋 in NestJS — русскоязычное сообщество
Kulagin Alex
мне тоже это понравилось. раньше у меня был свой велосипед со похожей структурой. а тут не надо даже объяснят долго новеньким.
Во-во-во!  Так же на koa делал
источник

𝒟𝒩

𝒟𝓂𝒾𝓉𝓇𝒾𝓎 𝒩𝑒𝒻𝑒𝒹𝑜𝓋 in NestJS — русскоязычное сообщество
Единственное что пока не совсем понимаю, как сделать для всех базовые find, findById и т.п.
источник

KA

Kulagin Alex in NestJS — русскоязычное сообщество
базовый класс
источник

𝒟𝒩

𝒟𝓂𝒾𝓉𝓇𝒾𝓎 𝒩𝑒𝒻𝑒𝒹𝑜𝓋 in NestJS — русскоязычное сообщество
Как реализовать)
источник

KA

Kulagin Alex in NestJS — русскоязычное сообщество
про котроллеры или сервисы?
источник

𝒟𝒩

𝒟𝓂𝒾𝓉𝓇𝒾𝓎 𝒩𝑒𝒻𝑒𝒹𝑜𝓋 in NestJS — русскоязычное сообщество
Про сущности в целом, будь то пользователь или другой объект
источник

𝒟𝒩

𝒟𝓂𝒾𝓉𝓇𝒾𝓎 𝒩𝑒𝒻𝑒𝒹𝑜𝓋 in NestJS — русскоязычное сообщество
И сервис и контроллер
источник

𝒟𝒩

𝒟𝓂𝒾𝓉𝓇𝒾𝓎 𝒩𝑒𝒻𝑒𝒹𝑜𝓋 in NestJS — русскоязычное сообщество
И на сколько это целесообразно
источник

KA

Kulagin Alex in NestJS — русскоязычное сообщество
для сервиса довольно просто (не делал, но чисто логически):
class BaseCrudClass {
   constructor(protected model: Model<Document>){
   }
   create(){}
   findOne(){}
   findList(){}
   update(){}
   delete(){}
}
@Component()
class MyEntityService extends BaseCrudClass {
   constructor(@Inject(MY_ENTITY_TOKEN) private readonly entityModel: mongoose.Model<MyEntity>){
       super(entityModel)
   }
}
источник

KA

Kulagin Alex in NestJS — русскоязычное сообщество
ну и если надо в сервисах перегрузить методы
источник

𝒟𝒩

𝒟𝓂𝒾𝓉𝓇𝒾𝓎 𝒩𝑒𝒻𝑒𝒹𝑜𝓋 in NestJS — русскоязычное сообщество
А, все, это же просто))
источник

𝒟𝒩

𝒟𝓂𝒾𝓉𝓇𝒾𝓎 𝒩𝑒𝒻𝑒𝒹𝑜𝓋 in NestJS — русскоязычное сообщество
Спасибо еще раз
источник

KA

Kulagin Alex in NestJS — русскоязычное сообщество
кстати вчера кто-то спрашивал про раздачу статики в несте. у меня так:
    const STATIC_ROOT = normalize(join(__dirname, '..', 'web', 'public'));
   const ADMIN_ROOT = normalize(join(__dirname, '..', 'web', 'admin'));
   const ASSETS_ROOT = normalize(join(__dirname, '..', 'web', 'assets'));
   const server = express();
   const app = await NestFactory.create(ApplicationModule, server);
   server.use('/assets', express.static(ASSETS_ROOT));
   server.use('/admin', express.static(ADMIN_ROOT));
   server.use(express.static(STATIC_ROOT));

есть идеи как лучше сделать?
источник

E

E_A in NestJS — русскоязычное сообщество
Kulagin Alex
кстати вчера кто-то спрашивал про раздачу статики в несте. у меня так:
    const STATIC_ROOT = normalize(join(__dirname, '..', 'web', 'public'));
   const ADMIN_ROOT = normalize(join(__dirname, '..', 'web', 'admin'));
   const ASSETS_ROOT = normalize(join(__dirname, '..', 'web', 'assets'));
   const server = express();
   const app = await NestFactory.create(ApplicationModule, server);
   server.use('/assets', express.static(ASSETS_ROOT));
   server.use('/admin', express.static(ADMIN_ROOT));
   server.use(express.static(STATIC_ROOT));

есть идеи как лучше сделать?
Хороший у вас вариант)
так же можно в nginx настроить прозрачное проксирование, например.
источник

KA

Kulagin Alex in NestJS — русскоязычное сообщество
можно у меня так и есть. например часть большую часть этой же статики отдает nginx, но если где-то правила забыл настроить или что-то такое то уже экспрессом
источник

АД

Александр Духновский in NestJS — русскоязычное сообщество
Kulagin Alex
кстати вчера кто-то спрашивал про раздачу статики в несте. у меня так:
    const STATIC_ROOT = normalize(join(__dirname, '..', 'web', 'public'));
   const ADMIN_ROOT = normalize(join(__dirname, '..', 'web', 'admin'));
   const ASSETS_ROOT = normalize(join(__dirname, '..', 'web', 'assets'));
   const server = express();
   const app = await NestFactory.create(ApplicationModule, server);
   server.use('/assets', express.static(ASSETS_ROOT));
   server.use('/admin', express.static(ADMIN_ROOT));
   server.use(express.static(STATIC_ROOT));

есть идеи как лучше сделать?
const app = await NestFactory.create(ApplicationModule);

app.use('/assets', express.static(ASSETS_ROOT));


но яхз, как-то все равно не канонично. вообще нест - это обертка для экспресса, поэтому нет необходимости его создавать второй раз. Получается создаешь один инстанс и передаешь его потом в качестве майна все тому же экспрессу)
источник

KA

Kulagin Alex in NestJS — русскоязычное сообщество
ну вот да. я думаю тут можно поиграться nest-middleware. сегодня-завтра как раз это буду делать
источник

KA

Kulagin Alex in NestJS — русскоязычное сообщество
а то меня этот момент тоже смущает
источник

АД

Александр Духновский in NestJS — русскоязычное сообщество
я не нашел мидлварей для объявлений. Есть вот такие

import { Middleware, NestMiddleware, ExpressMiddleware } from '@nestjs/common';

@Middleware()
export class LoggerMiddleware implements NestMiddleware {
 resolve(...args: any[]): ExpressMiddleware {
   return (req, res, next) => {
     console.log('Request...');
     next();
   };
 }
}


Но это не совсем оно
источник