add build file, refactor with vue.js