当前位置: 首页 > 软件库 > 数据库相关 > >

node-typescript-mongodb

node js typescript mongodb express generator yo
授权协议 MIT License
开发语言 TypeScript
所属分类 数据库相关
软件类型 开源软件
地区 不详
投 递 者 邹桐
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Node.js Express API with TypeScript 4

Node.js Express API with TypeScript 4. Supports MongoDBSee node-express-fast-progress if you need vanilla JS

Description

This generator will help you to build your own Node.js Express Mongodb API using TypeScript 4.

Project Introduction

Features

Authentication:
  • passport local strategy
  • jwt authentication
  • OAuth2.0 Server (Authorization code grant, Refresh token grant)
Session Storage:
  • MongoDB
  • Redis
Integration testing
  • mocha
  • chai
  • supertest

Requirements

  • node >= 14
  • npm >= 6
  • mongodb >= 4.0
  • typescript >= 4.0

Installation

First, install Yeoman and generator-node-express-typescript-api using npm (we assume you have pre-installed node.js).

npm install -g yo
npm install -g generator-node-express-typescript-api

Then generate your new project:

yo node-express-typescript-api

App skeleton

.
├── LICENSE
├── README.md
├── nodemon.json
├── package.json
├── src
│   ├── components
│   │   ├── Auth
│   │   │   ├── index.ts
│   │   │   ├── interface.ts
│   │   │   ├── service.ts
│   │   │   └── validation.ts
│   │   ├── User
│   │   │   ├── index.ts
│   │   │   ├── interface.ts
│   │   │   ├── model.ts
│   │   │   ├── service.ts
│   │   │   └── validation.ts
│   │   ├── index.ts
│   │   └── validation.ts
│   ├── config
│   │   ├── connection
│   │   │   └── connection.ts
│   │   ├── env
│   │   │   └── index.ts
│   │   ├── error
│   │   │   ├── index.ts
│   │   │   └── sendHttpError.ts
│   │   ├── middleware
│   │   │   ├── middleware.ts
│   │   │   └── passport.ts
│   │   └── server
│   │       ├── ServerInterface.ts
│   │       ├── index.ts
│   │       ├── server.ts
│   │       └── serverHandlers.ts
│   └── routes
│       ├── AuthRouter.ts
│       ├── UserRouter.ts
│       └── index.ts
├── swagger.json
├── swaggerDef.js
├── tsconfig.json
└── tslint.json

Running the API

Development

To start the application in development mode, run:

npm install -g nodemon
npm install -g ts-node
npm install -g typescript
npm install

Start the application in dev env:

nodemon

Start the application in production env:

Install ts pm2 and typescript compiler:

npm install -g pm2
pm2 install typescript

example start with scale on 2 core:

pm2 start ./src/index.ts -i 2 --no-daemon

Express server listening on http://localhost:3000/, in development modeThe developer mode will watch your changes then will transpile the TypeScript code and re-run the node application automatically.

Testing

To run integration tests:

npm test

Set up environment

In root folder you can find .env. You can use this config or change it for your purposes.If you want to add some new variables, you also need to add them to interface and config object (Look src/config/index.ts)

Usage as OAuth2.0 Server

To use this generator as OAuth2.0 server you should implement client side, that will be handle your redirectUris and make requests to /auth/token/ route. Read more about OAuth2.0

Swagger

npm install -g swagger-jsdoc
swagger-jsdoc -d swaggerDef.js ./src/**/*.ts -o swagger.json

Swagger documentation will be available on route:

http://localhost:3000/docs

Alt Text

Getting To Know Yeoman

  • Yeoman has a heart of gold.
  • Yeoman is a person with feelings and opinions, but is very easy to work with.
  • Yeoman can be too opinionated at times but is easily convinced not to be.
  • Feel free to learn more about Yeoman.
  • node不能直接运行ts,需要先将ts转成js,然后再运行, 但是用下面的东西就可以直接在node上运行ts了。 nodejs环境运行ts npm install @types/node --save-dev npm install ts-node -g        运行方法: ts-node 文件名.ts

  • 一、Node.js默认使用commonJs的模块化方案,TypeScript默认是ES6的模块化方案,两者有本质区别。 1.Node.js的去寻找引入的依赖时,如果是Node自带的模块,比如fs文件模块,只需要填写fs即可。如果是自己定义的模块,那么需要加入./(使用相对路径),暴露接口使用exports或者module.exports 2.TypeScript的import * from url

  • 1、mongodb 启动的命令: mongod --dbpath=/data/db --port=27017      以守护进程的方式启动 :mongod --dbpath=/data/db --port=27017 --fork --logpath=/var/log/mongod.log      关闭mongodb指令:mongod --shutdown 2、编写node.js 操作mong

  • 连接数据库、开启数据库服务 ps执行命令行地址均为mongodb\bin目录下 开启数据库服务 mongod --dbpath d:\data\db 连接数据库 mongo.exe 创建数据库 use database 查看数据库 show dbs 删除数据库以及集合(collection) db.dropDatabase() db.collection.drop() 增删查改 创建一个coll

  • npm init npm i typescript -D npm i ts-node -D npm i tslib @types/node -D # 运行 ts-node xxx.ts

  • //安装typescript npm install typescript -g tsc -v //安装types/node npm install @types/node -D npm install ts-node -g //查看版本号 ts-node -v 使用ts-node xxx 可以直接执行ts文件

  • Node.js can use this module to manipulate MongoDB databases: var mongo = require('mongodb'); CreateDatabase MongoDB will create the database if it does not exist, and make a connection to it. var Mong

  • Node.js + TypeScript 写后端工具 前言 现在 Node.js 的生态越来越成熟,有好多公司直接使用 Node 构建其后端应用,放在线上跑。TypeScript 是微软的编程语言,近年来受到的关注也是越来越多。 作为一个常年写后端接口的人,便想:能不能利用这两者,来给自己的工作流,带来一点不一样的感觉。(由于这不是写客户端 JS,所以我们并不需要 webpack 等工具 ) 步骤

  • 简介            (1) 数据库                  数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。             分类:                   关系型数据库(SQL结构化查询语言,数据的增删改查)                  非关系型数据库(noSQL)           常见数据库:               

  • 声明:此文章是由网络上资源整合排版而成,仅用于帮助本人学习,本人不承担任何责任 目标 能够使用mongoose创建集合的方法创建集合 能够对数据库中的数据进行增删改查操作 1. 数据库环境搭建 Mongoose第三方包 使用Node.js操作MongoDB数据库需要依赖Node.js第三方包mongoose 使用npm install mongoose命令下载 启动MongoDB 在命令行工具中运

  • Mostly all modern-day web applications have some sort of data storage system at the backend. For example, if you take the case of a web shopping application, data such as the price of an item would be

  • node + mongodb 安装 + 引入 npm install mongodb -S 或者 npm i mongodb -S var mysql = require(“mongodb”) 实例化并链接 let mongoCt = mongodb.MongoClient mongoCt.connect(“协议://地址端口”,回调(err,client)) //err 是错误 client 是

  • 配置 NodeJS + Typescript 开发环境 CSDN用户名:jcLee95 (关于TypeScript配置文件、NodeJS安装请参考其它博文,这里不再赘述) 1. 安装TypeScript 使用npm: npm install -g typescript 使用yarn: yarn global add typescript 2.安装ts-node 使用npm: npm insta

  • 一、typeScript的介绍 TypeScript 是 JavaScript 的一个超集,支持 ECMAScript 6 标准。 TypeScript 由微软开发的自由和开源的编程语言。 TypeScript 设计目标是开发大型应用,它可以编译成纯 JavaScript,编译出来的 JavaScript 可以运行在任何浏览器上。 二、typeScript和JavaScript的区别 TypeSc

 相关资料
  • Node.js API com Typescript Código do curso �� DO ZERO A PRODUÇÃO: APRENDA A CONSTRUIR UMA API NODE.JS COM TYPESCRIPT Durante o curso é criado uma API para calcular a melhor condição de surf entre vari

  • node-typescript-boilerplate ����‍�� Developer Ready: A comprehensive template. Works out of the box for most Node.js projects. ���� Instant Value: All basic tools included and configured: TypeScript 4

  • TypeScript Node Starter The main purpose of this repository is to show a working Node.js API Server + front-end project and workflow for writing Node code in TypeScript. It is not a goal to be a compr

  • Node - Koa - Typescript Project The main purpose of this repository is to build a good project setup and workflow for writing a Node api rest in TypeScript using KOA and an SQL DB. Koa is a new web fr

  • Building RESTful Web APIs with Node.js, Express, MongoDB and TypeScript This is a simple API that saves contact information of people. There are two versions of this project. V1.0.0: you can run the s

  • 本文向大家介绍浅谈TypeScript 用 Webpack/ts-node 运行的配置记录,包括了浅谈TypeScript 用 Webpack/ts-node 运行的配置记录的使用技巧和注意事项,需要的朋友参考一下 公司项目代码是用 TypeScript 写的, 中间遇到有些代码不要放到 Node 里面去跑. 具体场景一些路由配置, 比较大的一块 JSON 数据定义在 TypeScript 里.