Skip to content

Full-Stack JS web app boilerplate with NestJS, TypeScript, NodeJS, VueJS, Webpack

Notifications You must be signed in to change notification settings

stringang/typescript-vue-webpack-boilerplate

Repository files navigation

TypeScript, Vue full-stack JS Boilerplate

This is a full stack webapp boilerplate project with TypeScript + VueJS + Webpack.

Usage

Install dependencies

$ npm install

For development

$ npm run start:client
$ npm run start:server

For production

$ npm run prod

Features

Server-side

  • NodeJS
  • NestJS
  • logging/tracing/metric

Client-side

  • VueJS 2.X
  • Vue-router
  • Vuex
  • Webpack 4
  • Babel

Directory structure

.
|-- config               # frontend build configuration
|   |-- devServer.ts
|   |-- webpack.config.common.js
|   |-- webpack.config.dev.js
|   `-- webpack.config.prod.js
|-- src
|   |-- client          # froned code
|   |   |-- components
|   |   |   |-- HelloWorld.vue
|   |   |   `-- HelloWorld.ts
|   |   |-- router
|   |   |   `-- index.ts
|   |   |-- store
|   |   |   `-- index.ts
|   |   |-- App.vue
|   |   |-- index.html
|   |   |-- main.ts
|   |   |-- shims-tsx.d.ts
|   |   |-- shims-vue.d.ts
|   |   `-- tsconfig.json
|   `-- server          # server code
|       |-- example
|       |   |-- example.controller.ts
|       |   |-- example.module.ts
|       |   `-- example.service.ts
|       |-- framework
|       |   |-- logging
|       |   |-- metric
|       |   |   `-- metric.module.ts
|       |   `-- tracing
|       |-- app.controller.ts
|       |-- app.module.ts
|       `-- main.ts         # application entry
|-- Dockerfile
|-- Gulpfile.js
|-- Jenkinsfile.js
|-- README.md
|-- babel.config.js
|-- package-lock.json
|-- package.json
|-- tsconfig.json
|-- tslint.json
`-- webpack.config.js

Reference