A demo to show how I prefer to set up an SVG icon system in Vue.js. You can see a demo live here. You don't have to do it this way, it's an opinionated example. More details for why it's set up in this manner in the Vue Cookbook (coming this week).
# install dependencies
npm install
# serve with hot reload at localhost:8080
npm run dev
# build for production with minification
npm run build
# build for production and view the bundle analyzer report
npm run build --report
For a detailed explanation on how things work, check out the guide and docs for vue-loader.