prototype.js
v0.4.1
Published
Vue.js + Koa.js Application Boilerplate for Production
Downloads
53
Readme
Vue.js :revolving_hearts: 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
- [x] ESLint rules supports.
- [x] webpack/webpack-dev-server support.
- [x] NPM scripts for common operations.
- [x] multiple webpack settings profiles.
- [x]
dotenv
based multi settings profiles at server side. - [x] Grouped routing system.
- [x] unit test integration
- [x] hot reload koa server
- [ ] e2e test integration