VuePack is a modern Vue.js starter
which uses Vue 2, Vuex, Vue-router and Webpack 2.
Note
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.
Features
- Vue 2 / Vue-router / Vuex
- Hot reloading for single-file components
- Split vendor code from your app
- Webpack 2 (an update to Webpack 4 will be very soon)
- Offline Ready, perfect for progressive web app
- ESLint
- Babel 6
- PostCSS
- JSX components are supported by default
- TestCafe (optional)
- Electron support (optional)
- CSS modules (optional)
- A boilerplate which is small and focusing on client-side apps
Check out the docs for more usages.
Get Started
You'd better have node >=10
and npm >=6
installed:
sao
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 (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.
License
MIT Β© EGOIST