Vue.js 💞 Koa.js
Production application boilerplate for Vue and Koa, batteries included:
- ES6 + Babel
- ESLint with the Airbnb JavaScript rules.
- Mocha Unit testing and coverage with Chai assertion framework.
- Nightwatch E2E UI automated testing framework.
- Editorconfig Consistent coding styles formatter.
- Yarn Dependency management.
- Vue.js Progressive frontend framework.
- Koa.js Next generation web framework.
- Dotenv Production settings profile solution.
- Foundation Framework Integration with common UI components on Vue.
- NPM scripts for common operations.
Key NPM Scripts
npm start
- start Koa and Webpack server simultaneously with hot reload supports in foreground (default port3000
), all consequent requests prefixed by/v1
will be proxied to Koa automatically.npm run start:staging
- compile front end source code usingetc/webpack.staging.js
into folderdist
then start Koa server viaPM2
with static assets supports.npm run stop:staging
- stop Koa server viaPM2
.npm run start:release
- compile front end source code usingetc/webpack.release.js
into folderdist
then start Koa server viaPM2
.npm run stop:release
- stop Koa server viaPM2
.
Client
- webpack supports with
develop
,staging
andrelease
settings profiles.
Server
-
configurable prefixed server endpoint (
/v1
by default). -
intelligent/automatic routes registration.
Module created under
apps
folder with routes defined inindex.js
will be registered onto server router automatically.
// OPTIONAL prefix definition, by default, system will register the module name as its routing prefix.// `prefix -> false` will disable prefix for this module.export const prefix = '/<module-prefix>'; import * as mw from './middleware';import * as views from './views'; export default { 'GET /', views.list, 'GET /:key', views.get, 'POST /', [mw.acl, views.create], 'PUT /:key', views.update, 'DELETE /:key', views.delete,}
TODOs
- ESLint rules supports.
- webpack/webpack-dev-server support.
- NPM scripts for common operations.
- multiple webpack settings profiles.
-
dotenv
based multi settings profiles at server side. - Grouped routing system.
- unit test integration
- hot reload koa server
- e2e test integration