UNPKG

monorepo-cli

Version:

基于 yarn v2 berry 的 monorepo 项目的创建

94 lines (86 loc) 2.28 kB
const fastify = require('fastify'); const path = require('path'); const config = require('./config'); let logger = { name: '{{ name }}' }; if (process.env.NODE_ENV === 'development') { // eslint-disable-next-line const stream = new (require('pino-smart/stream'))(); logger.level = 'debug'; logger.stream = stream; stream.pipe(process.stdout); } else { logger.level = 'info'; logger.file = '/www/wwwlogs/{{ name }}.log'; } // Instantiate Fastify with some config const app = fastify({ // 查看日志的方式 tail -f -n 200 {{ name }}.log | pino-pretty -c -t SYS:standard logger: logger, pluginTimeout: 10000, }); {{#mysql}} // mysql数据库 app.register(require('fastify-knex-sql'), { connection: config.mysql }); {{/mysql}} {{#mongo}} // mongoose app.register(require('fastify-mongoose-next'), { url: config.mongo, models: require('./models'), }); {{/mongo}} {{#static}} // 注册静态资源服务 app.register(require('fastify-static'), { root: path.join(__dirname, '/public'), prefixAvoidTrailingSlash: true, prefix: '/', }); {{/static}} {{#view}} // 注册模板渲染引引擎 app.register(require('point-of-view'), { engine: { nunjucks: require('nunjucks'), }, root: path.join(__dirname, 'views'), viewExt: 'html', includeViewExtension: true, }); {{/view}} // 注册路由 app.register( async (Server) => { {{#session}} Server.register( async (ChildServer) => { // 加入登录验证 ChildServer.register(require('fastify-auth-verify'), { verify(session) { return session.uid; }, ignore: ['/api/login', '/api/system_monitor'], }); ChildServer.register(require('./routes/api')); }, { prefix: '/api' }, ); {{/session}} {{^session}}Server.register(require('./routes/api'), { prefix: '/api' });{{/session}} Server.register(require('./routes/root')); }, { prefix: '/' } ); // Start listening. app.listen( process.env.PORT || config.port || 3000, process.env.NODE_ENV === 'development' ? '0.0.0.0' : '127.0.0.1', (err) => { if (err) { app.log.error(err); process.exit(1); } } );