PoC app to test Vue.js framework
Use docker-compose to boot up dockerized environment
for development:
docker-compose up
# or with Yarn
yarn startTo resolve all project dependencies use docker-wrapped command
from Makefile.
make deps
# or with Yarn
yarn installTo build both client and server bundles use docker-wrapped command
from Makefile:
make build
# or specify concrete target
make build target=client
make build target=server
# or produce production-ready bundles with minified assets
make build env=production
# or with Yarn
yarn build:client
yarn build:server
yarn build:all
yarn build:all --productionTo lint TypeScript/JavaScript sources you should use docker-wrapped command
from Makefile:
make lint
# or with Yarn
yarn lintTo run tests or generate project documentation use docker-wrapped commands
from Makefile:
make test
make docs
# or concrete tests
make test.unit
make test.e2e start-app=yes
make test.docker
# or with Yarn
yarn test:unit
yarn test:e2e
yarn test
yarn docsTo make docker image (from project distribution) use docker-wrapped commands
from Makefile:
make dist && make docker.imageTo open http://vue-app-example.localhost
application in browser add lines to your hosts file:
127.0.0.1 vue-app-example.localhost
127.0.0.1 api.vue-app-example.localhost
To test Server-Side Rendering, you can emulate search bot request:
curl --header "User-Agent: Googlebot" http://vue-app-example.localhost/or directly do request to Express server:
curl http://vue-app-example.localhost:8080/- If you change project files layout, make sure that project builds as expected
via
make buildand project distribution is formed correctly viamake dist. - All project dependencies should be declared with Yarn. In other words, using NPM or Bower is not allowed.
- All project TypeScript and JavaScript sources must be written accordingly with ECMAScript 2016 language specifications. You can easily configure WebStorm to support it by following this guide.
- If you don't use docker-wrapped commands, make sure that tools you use have the same version as in docker-wrapped commands. It's latest version, mainly.
- Core documentation: Vue, vue-router, Vuex
- Vue components style guide
- Vue + TS: vue-class-component, vue-property-decorator, vuex-class
- TypeScript modules: http://www.typescriptlang.org/docs/handbook/modules.html
- Yarn: https://yarnpkg.com/en/docs/usage
- Pug: https://pugjs.org/language/attributes.html
- Chai BDD: http://chaijs.com/api/bdd/
- VeeValidate plugin: http://vee-validate.logaretm.com/
- vue-i18n plugin: https://kazupon.github.io/vue-i18n/en/
- All Vue plugins catalog: https://github.com/vuejs/awesome-vue
- Vue dev tools Chrome extension: https://github.com/vuejs/vue-devtools
Stylus(#2)Pug(#3)Improve SSR by new guidelines from https://ssr.vuejs.org/en/(#4)ESLint for(#5).jsfiles and improve TSLint settingsImprove TypeScript typings(#6)Change npm to Yarn, remove Bower(#7)Docker + Makefile + Travis CI(#8)Improve E2E specs(#9)Fix eslint hanging with v4.0(#10)Test remove json-server from hosts(#11)
- GraphQL (#12)
- vue-kindergarten
- av-ts: https://herringtondarkholme.github.io/2016/10/03/vue2-ts2/
- https://github.com/rowanwins/vue-dropzone
- Keep an eye on Nuxt.js and HackerNews app
- Mobile:
- Rolling back HMR updates (temporarily postponed)