/vue-webpack-template

基于vue-cli的vue-webpack模板。适合移动端、中小型应用的模板。使用vue、vue-router、vue-resource、webpack、flexible、sass、postCss、ES6等

Primary LanguageJavaScript

vue-webpack-template

移动端 中小型 单页面应用 模板
基于vue-cli(vue 推荐脚手架 vue-webpack模板)
使用 vue vue-router vue-resource webpack flexible sass postCss ES6 等

Build Setup

# install dependencies  首次使用,请运行 此命令安装node.js依赖
npm install

# serve with hot reload at localhost:8888  开发 请运行此命令进行调试
npm run dev

# build for production with minification   发布 请运行此命令(master分支下), 然后把所有变动的文件统一上传到git
npm run build


For detailed explanation on how things work, checkout the [guide](http://vuejs-templates.github.io/webpack/) and [docs for vue-loader](http://vuejs.github.io/vue-loader).


# vue + webpack 的各种坑

"vue-resource": "0.9" 以后的版本 get请求无法直接使用{foo: bar}传递参数,需要使用{params: {foo: bar}}, 返回结果也无法自动编译为json 需要使用 resp.json() 建议所有ajax使用 post请求

简单使用全局数据的方法, 在router外层加一层 vue (即app.vue), 需要放在全局的数据可以放在app.vue下

更复杂的数据和状态管理, 请使用 vux (https://github.com/vuejs/vuex)

webpack 打包sass 的时候 引用的共有部分无法自动去除, 会被重复打包进来 所以, common.scss 文件中只能放 公用的 变量 方法 和 mixin 等


# 其他说明

设置 代理跳转的地方 : ./config/index.js proxyTable

使用postcss的 1 autoprefixer插件, 添加浏览器兼容的css前缀 设置规则参考地址: (官方)https://github.com/postcss/autoprefixer (中文)http://www.ydcss.com/archives/94

使用postcss的 2 cssnano插件, 简化和压缩css (discardUnused等四个选项是不安全选项,所以关闭,如果css出现未知错误,请关闭此插件!! http://cssnano.co/optimisations/)

使用postcss的 3 后期可以考虑使用 pxtorem 插件来进行 px => rem 的转换 不再使用用sass的 mixin


# 目录结构

    ├── build/                      # webpack config files
    │   └── ...
    ├── config/
    │   ├── index.js                # main project config
    │   └── ...
    ├── src/
    │   ├── main.js                 # app entry file
    │   ├── App.vue                 # main app component
    │   ├── components/             # ui components
    │   │   └── ...                 # main app component
    │   ├── views/                  # vue-router component
    │   │   └── ...
    │   └── assets/                 # module assets (processed by webpack)
    │       └── ...
    ├── static/                     # pure static assets (directly copied)
    ├── test/
    │   └── unit/                   # unit tests
    │   │   ├── specs/              # test spec files
    │   │   ├── index.js            # test build entry file
    │   │   └── karma.conf.js       # test runner config file
    │   └── e2e/                    # e2e tests
    │   │   ├── specs/              # test spec files
    │   │   ├── custom-assertions/  # custom assertions for e2e tests
    │   │   ├── runner.js           # test runner script
    │   │   └── nightwatch.conf.js  # test runner config file
    ├── .babelrc                    # babel config
    ├── .editorconfig.js            # editor config
    ├── .eslintrc.js                # eslint config
    ├── index.html                  # index.html template
    └── package.json                # build scripts and dependencies