:package: A modern starter which uses Vue 2, Vuex, Vue-router and Webpack 2 (and even Electron)



VuePack is a modern Vue.js starter
which uses Vue 2, Vuex, Vue-router and Webpack 2.


I highly recommend you to try Poi, you can develop Vue.js app with no-config until you need it. Less boilerplate code, more happiness ❤️

Here’s the plan for VuePack 4.0, you can support my work by donating or joining the development.


Check out the docs for more usages.

Get Started

You’d better have node >=10 and npm >=6 installed:


This template can be used with SAO, which also means you can use the template offline:

npm i -g sao jstransformer-handlebars
# from npm
sao vuepack new-project
# or git repo
sao egoist/vuepack new-project


Vue CLI (vue-cli@2 or @vue/cli@>=3 + @vue/cli-init) is still supported, but it has been deprecated by Vue officially, so it is not recommended to use Vue CLI with Vuepack.

npm i -g @vue/cli @vue/cli-init
vue init egoist/vuepack

For Windows users

Install git with unix tools before getting started.

Folder Structure

If you did not enable Electron support, the dest folder is ./dist, otherwise it’s ./app/dist.

./app folder only exists when you enabled Electron support.

├── app             # the actual app you want to bundle with Electron
│    ├── dist       # directory which contains all bundled files
│    └── index.js   # entry file for Electron
├── build           # webpack configs and other scripts
├── client          # client-side app files
├── dist            # bundled files and index.html
│    ├── index.html
│    └── [...other bundled files]  
├── tests           # e2e tests written by testcafe 
├── node_modules    # dependencies
└── package.json    # package info

Custom template

You want to customize the output of index.html, simply modify index.html, see more at html-webpack-plugin.