+```
+
+**vue@^2.1.0 only:** 你可以在 `v-for` 或者 scoped slots 中使用解构赋值:
+
+``` html
+
+ {{ id }} {{ text }}
+
+```
+
+``` html
+
+
+ {{ id }} {{ text }}
+
+
+```
+
+你还可以使用[`buble` 选项](../ options.md#buble)自定义模板中支持的功能。
+
+### 转换普通 `.js` 文件
+
+由于 `vue-loader` 只处理 `.vue` 文件,你需要告诉 Webpack 如何使用 `babel-loader` 或者 `buble-loader` 处理普通 `.js` 文件,在 Webpakc 中配置 `babel-loader`或者 `buble-loader`。脚手架工具 `vue-cli` 已经为你做了这些。
+
+### 使用 `.babelrc` 配置 Babel
+
+`babel-loader` 遵守 [`.babelrc`](https://babeljs.io/docs/usage/babelrc/),因此这是推荐配置 Babel presets 和插件的方法。
diff --git a/docs/zh-cn/features/hot-reload.md b/docs/zh-cn/features/hot-reload.md
new file mode 100644
index 000000000..7d8df900a
--- /dev/null
+++ b/docs/zh-cn/features/hot-reload.md
@@ -0,0 +1,7 @@
+# 热重载
+
+"热重载"不是当你修改文件的时候简单重新加载页面。启用热重载后,当你修改 `.vue` 文件时,所有该组件的实例会被替换,**并且不需要刷新页面**。它甚至保持应用程序和修改组件的当前状态!当你调整模版或者修改样式时,这极大的提高了开发体验。
+
+
+
+当使用脚手架工具 `vue-cli` 时,热重载是开箱即用的。
\ No newline at end of file
diff --git a/docs/zh-cn/features/postcss.md b/docs/zh-cn/features/postcss.md
new file mode 100644
index 000000000..77273d9c5
--- /dev/null
+++ b/docs/zh-cn/features/postcss.md
@@ -0,0 +1,68 @@
+# PostCSS
+
+由`vue-loader` 处理的 CSS 输出,都是通过 [PostCSS](https://github.com/postcss/postcss) 进行作用域重写,你还可以为 PostCSS 添加自定义插件,例如 [autoprefixer](https://github.com/postcss/autoprefixer) 或者 [CSSNext](http://cssnext.io/)。
+
+## 使用配置文件
+
+`vue-loader` 从 11.0 版本开始支持通过 [`postcss-loader`](https://github.com/postcss/postcss-loader#usage) 自动加载同一个配置文件:
+
+- `postcss.config.js`
+- `.postcssrc`
+- `package.json` 中的 `postcss`
+
+使用配置文件允许一份配置用于处理普通 CSS 文件(通过`postcss-loader`),和 `.vue` 文件内的 CSS,这是推荐做法。
+
+## 内联选项
+
+或者,你可以使用 `vue-loader` 的 `postcss` 选项来为 `.vue` 文件指定配置。
+
+Webpack 1.x 例子:
+
+``` js
+// webpack.config.js
+module.exports = {
+ // other configs...
+ vue: {
+ // use custom postcss plugins
+ postcss: [require('postcss-cssnext')()]
+ }
+}
+```
+
+Webpack 2.x 例子:
+
+``` js
+// webpack.config.js
+module.exports = {
+ // other options...
+ module: {
+ // module.rules is the same as module.loaders in 1.x
+ rules: [
+ {
+ test: /\.vue$/,
+ loader: 'vue-loader',
+ // vue-loader options goes here
+ options: {
+ // ...
+ postcss: [require('postcss-cssnext')()]
+ }
+ }
+ ]
+ }
+}
+```
+
+除了插件数组之外,`postcss` 配置选项也接受:
+
+- 一个返回插件数组的函数;
+
+- 一个对象包含配置选项,传递给 PostCSS 处理器。这在使用自定义 parser/stringifiers 时非常有用:
+
+ ``` js
+ postcss: {
+ plugins: [...], // list of plugins
+ options: {
+ parser: sugarss // use sugarss parser
+ }
+ }
+ ```
diff --git a/docs/zh-cn/features/scoped-css.md b/docs/zh-cn/features/scoped-css.md
new file mode 100644
index 000000000..f2fe4fc29
--- /dev/null
+++ b/docs/zh-cn/features/scoped-css.md
@@ -0,0 +1,52 @@
+# CSS 作用域
+
+当 `
+
+
+ hi
+
+```
+
+转换结果:
+
+``` html
+
+
+
+ hi
+
+```
+
+#### 注意
+
+1. 你可以在一个组件中同时使用 scoped 和 non-scoped styles
+
+ ``` html
+
+
+
+ ```
+
+2. 子组件的根节点将同时受父组件作用域和子组件作用域的影响。
+
+3. 部分元素不受作用域影响部分。
+
+4. **CSS 作用域不能代C替 classes**。考虑到浏览器渲染各种 CSS 选择器的方式,`p { color: red }` 在作用域中会慢很多(即转换为属性选择器)。如果你使用 classes 或者 ids 代替,比如 `.example { color: red }`,这样几乎没有性能影响。[Here's a playground](http://stevesouders.com/efws/css-selectors/csscreate.php) 你可以测试它们的不同。
+
+5. **在递归组件中小心使用后代选择器!** 对于带有选择器 `.a .b` 的CSS 规则,如果元素 `.a` 包含递归子组件,所有的子组件中的 `.b` 会被匹配。
+
diff --git a/docs/zh-cn/options.md b/docs/zh-cn/options.md
new file mode 100644
index 000000000..d9c5e6081
--- /dev/null
+++ b/docs/zh-cn/options.md
@@ -0,0 +1,190 @@
+# 配置文档
+
+## Webpack 1 和 2 配置差异
+
+Webpack 2:配置直接放到 loader rule 中。
+
+``` js
+module.exports = {
+ // ...
+ module: {
+ rules: [
+ {
+ test: /\.vue$/,
+ loader: 'vue-loader',
+ options: {
+ // vue-loader options
+ }
+ }
+ ]
+ }
+}
+```
+
+Webpack 1.x:在 Webpack 配置中添加根节点 `vue` 块。
+
+``` js
+module.exports = {
+ // ...
+ vue: {
+ // vue-loader options
+ }
+}
+```
+
+### loaders
+
+- 类型: `{ [lang: string]: string }`
+
+ 如果指定 Webpack loaders 会覆盖 ` .vue` 文件中的语言块的默认 `lang` 属性。 每种类型的默认 `lang` 是:
+ An object specifying Webpack loaders to overwrite the default loaders used for language blocks inside `*.vue` files. The key corresponds to the `lang` attribute for language blocks, if specified. The default `lang` for each type is:
+
+ - `
`: `html`
+ - `
+
+
+
+
+ This could be e.g. documentation for the component.
+
+```
+
+`vue-loader` 会解析文件,提取每个语言块,如有必要会通过其它 loaders 处理,最后将他们组装成一个 CommonJS 模块,`module.exports` 出一个 Vue.js 组件对象。
+
+`vue-loader` 支持使用非默认放言,比如 CSS 预处理器,预编译的 HTML 模版语言,通过设置语言块的 `lang` 属性。例如,你可以像下面这样使用 SASS 语法编写 style:
+
+``` html
+
+```
+
+更多细节可以在 [预处理器](../configurations/pre-processors.md) 中找到。
+
+### 语言块
+
+#### ``
+
+- 默认语言:`html`。
+
+- 每个 `.vue` 文件最多包含一个 `` 块
+
+- 内容将被提取为字符串,将编译并用作 Vue 组件的 `template` 选项。
+
+#### `
+```
+
+需要注意的是 `src` 导入遵循和 `require()` 一样的规则,这意味着你相对路径需要以 `./` 开始,你还可以从 NPM 包中直接导入资源,例如:
+
+``` html
+
+