├── favicon.ico ├── README.md ├── dist ├── assets │ ├── img │ │ └── search.83621669.svg │ ├── js │ │ ├── 1.dfb47388.js │ │ ├── 0.67113aaa.js │ │ └── app.f329bcca.js │ └── css │ │ └── 3.styles.10349f94.css ├── 404.html ├── about │ └── index.html └── ins-con │ └── index.html ├── .gitignore ├── docs ├── about │ └── README.md ├── .vuepress │ ├── override.styl │ └── config.js └── ins-con │ └── README.md └── package.json /favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JakeLaoyu/Nodejs-tutorial/HEAD/favicon.ico -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## 说明 2 | 3 | 文档使用 [vuepress](https://vuepress.vuejs.org/) 生成 4 | 5 | ## 安装依赖 6 | 7 | ```sh 8 | yarn 9 | ``` 10 | 11 | ## 开发 12 | 13 | ```sh 14 | npm run dev 15 | ``` 16 | 17 | ## 构建 18 | 19 | ```sh 20 | npm run build 21 | ``` 22 | -------------------------------------------------------------------------------- /dist/assets/img/search.83621669.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .idea/ 3 | .ipr 4 | .iws 5 | *~ 6 | ~* 7 | *.diff 8 | *.patch 9 | *.bak 10 | .DS_Store 11 | Thumbs.db 12 | .project 13 | .*proj 14 | .svn/ 15 | *.swp 16 | *.swo 17 | *.pyc 18 | *.pyo 19 | .build 20 | node_modules 21 | .cache 22 | idoc-theme-*/ 23 | -------------------------------------------------------------------------------- /docs/about/README.md: -------------------------------------------------------------------------------- 1 | 本教程借鉴、并且所有示例来源于[菜鸟教程](http://www.runoob.com/nodejs/nodejs-tutorial.html) 2 | 3 | 本人非常喜欢这套教程,讲解很详细,而且有示例。可以让小白很清晰的了解Nodejs。 4 | 5 | 但是原文导航只有一级菜单,对于回顾翻阅,或者在写项目时查看示例很不方便,所以决定写下这篇教程。 6 | 7 | 本人也是刚刚踏入Nodejs,水平有限,欢迎广大热爱Nodejs的大神提交更新。 8 | 9 | 参考: 10 | 11 | [菜鸟教程](http://www.runoob.com/nodejs/nodejs-tutorial.html) 12 | 13 | [七天学会Nodejs](http://nqdeng.github.io/7-days-nodejs/) 14 | -------------------------------------------------------------------------------- /docs/.vuepress/override.styl: -------------------------------------------------------------------------------- 1 | $accentColor = #F5712C 2 | 3 | .navbar .site-name { 4 | color: $accentColor; 5 | } 6 | 7 | .page .custom-block.tip { 8 | border-color: $accentColor; 9 | } 10 | 11 | a.sidebar-link { 12 | font-weight: bold; 13 | } 14 | 15 | .sidebar-sub-header a.sidebar-link { 16 | font-weight: 400; 17 | } 18 | 19 | .page .content .logo { 20 | padding-top: 2.6rem; 21 | padding-bottom: 2rem; 22 | } 23 | -------------------------------------------------------------------------------- /docs/.vuepress/config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | title: 'Nodejs-Tutorial', 3 | description: 'Nodejs 中文基础教程', 4 | ga: 'UA-87261065-4', 5 | dest: 'dist', 6 | themeConfig: { 7 | repo: 'JakeLaoyu/Nodejs-tutorial', 8 | editLinks: true, 9 | editLinkText: '帮助改善此页面!', 10 | docsDir: 'docs', 11 | nav: [{ 12 | text: '主页', 13 | link: '/' 14 | }, 15 | { 16 | text: '安装配置', 17 | link: '/ins-con/' 18 | }, 19 | { 20 | text: '关于', 21 | link: '/about/' 22 | } 23 | ] 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Nodejs-Tutorial", 3 | "version": "2.0.0", 4 | "description": "Nodejs 中文基础教程", 5 | "main": "config.js", 6 | "dependencies": { 7 | "vuepress": "0.8.4" 8 | }, 9 | "devDependencies": {}, 10 | "scripts": { 11 | "dev": "vuepress dev docs", 12 | "build": "vuepress build docs" 13 | }, 14 | "repository": { 15 | "type": "git", 16 | "url": "git+https://github.com/JakeLaoyu/Nodejs-tutorial.git" 17 | }, 18 | "keywords": [ 19 | "Nodejs", 20 | "教程", 21 | "中文" 22 | ], 23 | "author": "Jake (https://github.com/JakeLaoyu)", 24 | "license": "MIT", 25 | "bugs": { 26 | "url": "https://github.com/JakeLaoyu/Nodejs-tutorial/issues" 27 | }, 28 | "homepage": "https://github.com/JakeLaoyu/Nodejs-tutorial#readme" 29 | } -------------------------------------------------------------------------------- /dist/404.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | VuePress 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |

404

How did we get here?
15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /dist/assets/js/1.dfb47388.js: -------------------------------------------------------------------------------- 1 | (window.webpackJsonp=window.webpackJsonp||[]).push([[1],{52:function(e,t,r){"use strict";r.r(t);var n=r(0),o=Object(n.a)({},function(){this.$createElement;this._self._c;return this._m(0)},[function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"content"},[r("p",[e._v("本教程借鉴、并且所有示例来源于"),r("a",{attrs:{href:"http://www.runoob.com/nodejs/nodejs-tutorial.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("菜鸟教程")])]),r("p",[e._v("本人非常喜欢这套教程,讲解很详细,而且有示例。可以让小白很清晰的了解Nodejs。")]),r("p",[e._v("但是原文导航只有一级菜单,对于回顾翻阅,或者在写项目时查看示例很不方便,所以决定写下这篇教程。")]),r("p",[e._v("本人也是刚刚踏入Nodejs,水平有限,欢迎广大热爱Nodejs的大神提交更新。")]),r("p",[e._v("参考:")]),r("p",[r("a",{attrs:{href:"http://www.runoob.com/nodejs/nodejs-tutorial.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("菜鸟教程")])]),r("p",[r("a",{attrs:{href:"http://nqdeng.github.io/7-days-nodejs/",target:"_blank",rel:"noopener noreferrer"}},[e._v("七天学会Nodejs")])])])}],!1,null,null,null);t.default=o.exports}}]); -------------------------------------------------------------------------------- /dist/about/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Nodejs-Tutorial 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |

本教程借鉴、并且所有示例来源于菜鸟教程

本人非常喜欢这套教程,讲解很详细,而且有示例。可以让小白很清晰的了解Nodejs。

但是原文导航只有一级菜单,对于回顾翻阅,或者在写项目时查看示例很不方便,所以决定写下这篇教程。

本人也是刚刚踏入Nodejs,水平有限,欢迎广大热爱Nodejs的大神提交更新。

参考:

菜鸟教程

七天学会Nodejs

21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /docs/ins-con/README.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar: auto 3 | --- 4 | 5 | # 安装配置 6 | 本章节我们将向大家介绍在window和Linux上安装Node.js的方法。 7 | 8 | 本安装教程以Node.js v4.4.3 LTS(长期支持版本)版本为例。 9 | 10 | Node.js安装包及源码下载地址为:。 11 | 12 | ![](http://blogimg.jakeyu.top//nodejs%E6%95%99%E7%A8%8B/download-page.jpg) 13 | 14 | 你可以根据不同平台系统选择你需要的Node.js安装包。 15 | 16 | Node.js 历史版本下载地址: 17 | 18 | **注意:** Linux上安装Node.js需要安装Python 2.6 或 2.7 ,不建议安装Python 3.0以上版本。 19 | 20 |
21 | 22 | ## Window 上安装 23 | 24 | 你可以采用以下两种方式来安装。 25 | 26 | ### 1、Windows 安装包(.msi) 27 | 28 | 32 位安装包下载地址 : https://nodejs.org/dist/v4.4.3/node-v4.4.3-x86.msi 29 | 30 | 64 位安装包下载地址 : https://nodejs.org/dist/v4.4.3/node-v4.4.3-x64.msi 31 | 32 | 本文实例以 v0.10.26 版本为例,其他版本类似, 安装步骤: 33 | 34 | 步骤 1 : 双击下载后的安装包 v0.10.26,如下所示: 35 | 36 | ![](http://blogimg.jakeyu.top//nodejs%E6%95%99%E7%A8%8B/install-node-msi-version-on-windows-step1.png) 37 | 38 | 步骤 2 : 点击以上的Run(运行),将出现如下界面: 39 | 40 | ![](http://blogimg.jakeyu.top//nodejs%E6%95%99%E7%A8%8B/install-node-msi-version-on-windows-step2.png) 41 | 42 | 步骤 3 : 勾选接受协议选项,点击 next(下一步) 按钮 : 43 | 44 | ![](http://blogimg.jakeyu.top//nodejs%E6%95%99%E7%A8%8B/install-node-msi-version-on-windows-step3.png) 45 | 46 | 步骤 4 : Node.js默认安装目录为 "C:\Program Files\nodejs\" , 你可以修改目录,并点击 next(下一步): 47 | 48 | ![](http://blogimg.jakeyu.top//nodejs%E6%95%99%E7%A8%8B/install-node-msi-version-on-windows-step4.png) 49 | 50 | 步骤 5 : 点击树形图标来选择你需要的安装模式 , 然后点击下一步 next(下一步): 51 | 52 | ![](http://blogimg.jakeyu.top//nodejs%E6%95%99%E7%A8%8B/install-node-msi-version-on-windows-step5.png) 53 | 54 | 步骤 6 :点击 Install(安装) 开始安装Node.js。你也可以点击 Back(返回)来修改先前的配置。 然后并点击 next(下一步): 55 | 56 | ![](http://blogimg.jakeyu.top//nodejs%E6%95%99%E7%A8%8B/install-node-msi-version-on-windows-step6.png) 57 | 58 | 安装过程: 59 | 60 | ![](http://blogimg.jakeyu.top//nodejs%E6%95%99%E7%A8%8B/install-node-msi-version-on-windows-step7.png) 61 | 62 | 点击 Finish(完成)按钮退出安装向导。 63 | 64 | ![](http://blogimg.jakeyu.top//nodejs%E6%95%99%E7%A8%8B/install-node-msi-version-on-windows-step8.png) 65 | 66 | 检测PATH环境变量是否配置了Node.js,点击开始=》运行=》输入"cmd" => 输入命令"path",输出如下结果: 67 | 68 | ~~~ 69 | PATH=C:\oraclexe\app\oracle\product\10.2.0\server\bin;C:\Windows\system32; 70 | C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\; 71 | c:\python32\python;C:\MinGW\bin;C:\Program Files\GTK2-Runtime\lib; 72 | C:\Program Files\MySQL\MySQL Server 5.5\bin;C:\Program Files\nodejs\; 73 | C:\Users\rg\AppData\Roaming\npm 74 | ~~~ 75 | 76 | 我们可以看到环境变量中已经包含了C:\Program Files\nodejs\ 77 | 78 | 检查Node.js版本 79 | 80 | ![](http://blogimg.jakeyu.top//nodejs%E6%95%99%E7%A8%8B/node-version-test.png) 81 | 82 | ### 2、Windows 二进制文件 (.exe)安装 83 | 32 位安装包下载地址 : 84 | 85 | 64 位安装包下载地址 : 86 | 87 | #### 安装步骤 88 | 步骤 1 : 双击下载的安装包 Node.exe ,将出现如下界面 : 89 | 90 | ![](http://blogimg.jakeyu.top//nodejs%E6%95%99%E7%A8%8B/install-node-exe-on-windows-step1.png) 91 | 92 | 点击 Run(运行)按钮将出现命令行窗口: 93 | 94 | ![](http://blogimg.jakeyu.top//nodejs%E6%95%99%E7%A8%8B/install-node-exe-on-windows-step21.png) 95 | 96 | #### 版本测试 97 | 进入 node.exe 所在的目录,如下所示: 98 | 99 | ![](http://blogimg.jakeyu.top//nodejs%E6%95%99%E7%A8%8B/node-version.png) 100 | 101 | 如果你获得以上输出结果,说明你已经成功安装了Node.js。 102 | 103 |
104 | 105 | ## Ubuntu 上安装 106 | ### 源码安装 107 | 以下部分我们将介绍在Ubuntu Linux下安装 Node.js 。 其他的Linux系统,如Centos等类似如下安装步骤。 108 | 109 | 在 Github 上获取 Node.js 源码: 110 | 111 | ~~~ 112 | $ sudo git clone https://github.com/nodejs/node.git 113 | Cloning into 'node'... 114 | ~~~ 115 | 116 | 修改目录权限: 117 | 118 | ~~~ 119 | $ sudo chmod -R 755 node 120 | ~~~ 121 | 122 | 使用 ./configure 创建编译文件,并按照: 123 | 124 | ~~~ 125 | $ cd node 126 | $ sudo ./configure 127 | $ sudo make 128 | $ sudo make install 129 | ~~~ 130 | 131 | 查看 node 版本: 132 | 133 | ~~~ 134 | $ node --version 135 | v0.10.25 136 | ~~~ 137 | 138 | ### Ubuntu apt-get命令安装 139 | 命令格式如下: 140 | 141 | ~~~ 142 | sudo apt-get install nodejs 143 | sudo apt-get install npm 144 | ~~~ 145 | 146 |
147 | 148 | ## CentOS 下安装 149 | 1、下载源码,你需要在下载最新的Nodejs版本,本文以v0.10.24为例: 150 | 151 | ~~~ 152 | cd /usr/local/src/ 153 | wget http://nodejs.org/dist/v0.10.24/node-v0.10.24.tar.gz 154 | ~~~ 155 | 156 | 2、解压源码 157 | 158 | ~~~ 159 | tar zxvf node-v0.10.24.tar.gz 160 | ~~~ 161 | 162 | 3、 编译安装 163 | 164 | ~~~ 165 | cd node-v0.10.24 166 | ./configure --prefix=/usr/local/node/0.10.24 167 | make 168 | make install 169 | ~~~ 170 | 171 | 4、 配置NODE_HOME,进入profile编辑环境变量 172 | 173 | ~~~ 174 | vim /etc/profile 175 | ~~~ 176 | 177 | 设置nodejs环境变量,在 export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL 一行的上面添加如下内容: 178 | 179 | ~~~ 180 | #set for nodejs 181 | export NODE_HOME=/usr/local/node/0.10.24 182 | export PATH=$NODE_HOME/bin:$PATH 183 | ~~~ 184 | 185 | :wq保存并退出,编译/etc/profile 使配置生效 186 | 187 | ~~~ 188 | source /etc/profile 189 | ~~~ 190 | 191 | 验证是否安装配置成功 192 | 193 | ~~~ 194 | node -v 195 | ~~~ 196 | 197 | npm模块安装路径 198 | 199 | ~~~ 200 | /usr/local/node/0.10.24/lib/node_modules/ 201 | ~~~ 202 | 203 | **注:**Nodejs 官网提供了编译好的Linux二进制包,你也可以下载下来直接应用。 204 | 205 |
206 |
207 | -------------------------------------------------------------------------------- /dist/assets/js/0.67113aaa.js: -------------------------------------------------------------------------------- 1 | (window.webpackJsonp=window.webpackJsonp||[]).push([[0],{51:function(e,t,s){"use strict";s.r(t);var n=s(0),o=Object(n.a)({},function(){this.$createElement;this._self._c;return this._m(0)},[function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",{staticClass:"content"},[s("h1",{attrs:{id:"安装配置"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#安装配置","aria-hidden":"true"}},[e._v("#")]),e._v(" 安装配置")]),s("p",[e._v("本章节我们将向大家介绍在window和Linux上安装Node.js的方法。")]),s("p",[e._v("本安装教程以Node.js v4.4.3 LTS(长期支持版本)版本为例。")]),s("p",[e._v("Node.js安装包及源码下载地址为:"),s("a",{attrs:{href:"https://nodejs.org/en/download/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://nodejs.org/en/download/")]),e._v("。")]),s("p",[s("img",{attrs:{src:"http://blogimg.jakeyu.top//nodejs%E6%95%99%E7%A8%8B/download-page.jpg",alt:""}})]),s("p",[e._v("你可以根据不同平台系统选择你需要的Node.js安装包。")]),s("p",[e._v("Node.js 历史版本下载地址:"),s("a",{attrs:{href:"https://nodejs.org/dist/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://nodejs.org/dist/")])]),s("p",[s("strong",[e._v("注意:")]),e._v(" Linux上安装Node.js需要安装Python 2.6 或 2.7 ,不建议安装Python 3.0以上版本。")]),s("hr"),s("h2",{attrs:{id:"window-上安装"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#window-上安装","aria-hidden":"true"}},[e._v("#")]),e._v(" Window 上安装")]),s("p",[e._v("你可以采用以下两种方式来安装。")]),s("h3",{attrs:{id:"_1、windows-安装包-msi"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_1、windows-安装包-msi","aria-hidden":"true"}},[e._v("#")]),e._v(" 1、Windows 安装包(.msi)")]),s("p",[e._v("32 位安装包下载地址 : https://nodejs.org/dist/v4.4.3/node-v4.4.3-x86.msi")]),s("p",[e._v("64 位安装包下载地址 : https://nodejs.org/dist/v4.4.3/node-v4.4.3-x64.msi")]),s("p",[e._v("本文实例以 v0.10.26 版本为例,其他版本类似, 安装步骤:")]),s("p",[e._v("步骤 1 : 双击下载后的安装包 v0.10.26,如下所示:")]),s("p",[s("img",{attrs:{src:"http://blogimg.jakeyu.top//nodejs%E6%95%99%E7%A8%8B/install-node-msi-version-on-windows-step1.png",alt:""}})]),s("p",[e._v("步骤 2 : 点击以上的Run(运行),将出现如下界面:")]),s("p",[s("img",{attrs:{src:"http://blogimg.jakeyu.top//nodejs%E6%95%99%E7%A8%8B/install-node-msi-version-on-windows-step2.png",alt:""}})]),s("p",[e._v("步骤 3 : 勾选接受协议选项,点击 next(下一步) 按钮 :")]),s("p",[s("img",{attrs:{src:"http://blogimg.jakeyu.top//nodejs%E6%95%99%E7%A8%8B/install-node-msi-version-on-windows-step3.png",alt:""}})]),s("p",[e._v('步骤 4 : Node.js默认安装目录为 "C:\\Program Files\\nodejs" , 你可以修改目录,并点击 next(下一步):')]),s("p",[s("img",{attrs:{src:"http://blogimg.jakeyu.top//nodejs%E6%95%99%E7%A8%8B/install-node-msi-version-on-windows-step4.png",alt:""}})]),s("p",[e._v("步骤 5 : 点击树形图标来选择你需要的安装模式 , 然后点击下一步 next(下一步):")]),s("p",[s("img",{attrs:{src:"http://blogimg.jakeyu.top//nodejs%E6%95%99%E7%A8%8B/install-node-msi-version-on-windows-step5.png",alt:""}})]),s("p",[e._v("步骤 6 :点击 Install(安装) 开始安装Node.js。你也可以点击 Back(返回)来修改先前的配置。 然后并点击 next(下一步):")]),s("p",[s("img",{attrs:{src:"http://blogimg.jakeyu.top//nodejs%E6%95%99%E7%A8%8B/install-node-msi-version-on-windows-step6.png",alt:""}})]),s("p",[e._v("安装过程:")]),s("p",[s("img",{attrs:{src:"http://blogimg.jakeyu.top//nodejs%E6%95%99%E7%A8%8B/install-node-msi-version-on-windows-step7.png",alt:""}})]),s("p",[e._v("点击 Finish(完成)按钮退出安装向导。")]),s("p",[s("img",{attrs:{src:"http://blogimg.jakeyu.top//nodejs%E6%95%99%E7%A8%8B/install-node-msi-version-on-windows-step8.png",alt:""}})]),s("p",[e._v('检测PATH环境变量是否配置了Node.js,点击开始=》运行=》输入"cmd" => 输入命令"path",输出如下结果:')]),s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("PATH=C:\\oraclexe\\app\\oracle\\product\\10.2.0\\server\\bin;C:\\Windows\\system32;\nC:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;\nc:\\python32\\python;C:\\MinGW\\bin;C:\\Program Files\\GTK2-Runtime\\lib;\nC:\\Program Files\\MySQL\\MySQL Server 5.5\\bin;C:\\Program Files\\nodejs\\;\nC:\\Users\\rg\\AppData\\Roaming\\npm\n")])]),s("p",[e._v("我们可以看到环境变量中已经包含了C:\\Program Files\\nodejs\\")]),s("p",[e._v("检查Node.js版本")]),s("p",[s("img",{attrs:{src:"http://blogimg.jakeyu.top//nodejs%E6%95%99%E7%A8%8B/node-version-test.png",alt:""}})]),s("h3",{attrs:{id:"_2、windows-二进制文件-exe-安装"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_2、windows-二进制文件-exe-安装","aria-hidden":"true"}},[e._v("#")]),e._v(" 2、Windows 二进制文件 (.exe)安装")]),s("p",[e._v("32 位安装包下载地址 : "),s("a",{attrs:{href:"http://nodejs.org/dist/v0.10.26/node.exe",target:"_blank",rel:"noopener noreferrer"}},[e._v("http://nodejs.org/dist/v0.10.26/node.exe")])]),s("p",[e._v("64 位安装包下载地址 : "),s("a",{attrs:{href:"http://nodejs.org/dist/v0.10.26/x64/node.exe",target:"_blank",rel:"noopener noreferrer"}},[e._v("http://nodejs.org/dist/v0.10.26/x64/node.exe")])]),s("h4",{attrs:{id:"安装步骤"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#安装步骤","aria-hidden":"true"}},[e._v("#")]),e._v(" 安装步骤")]),s("p",[e._v("步骤 1 : 双击下载的安装包 Node.exe ,将出现如下界面 :")]),s("p",[s("img",{attrs:{src:"http://blogimg.jakeyu.top//nodejs%E6%95%99%E7%A8%8B/install-node-exe-on-windows-step1.png",alt:""}})]),s("p",[e._v("点击 Run(运行)按钮将出现命令行窗口:")]),s("p",[s("img",{attrs:{src:"http://blogimg.jakeyu.top//nodejs%E6%95%99%E7%A8%8B/install-node-exe-on-windows-step21.png",alt:""}})]),s("h4",{attrs:{id:"版本测试"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#版本测试","aria-hidden":"true"}},[e._v("#")]),e._v(" 版本测试")]),s("p",[e._v("进入 node.exe 所在的目录,如下所示:")]),s("p",[s("img",{attrs:{src:"http://blogimg.jakeyu.top//nodejs%E6%95%99%E7%A8%8B/node-version.png",alt:""}})]),s("p",[e._v("如果你获得以上输出结果,说明你已经成功安装了Node.js。")]),s("hr"),s("h2",{attrs:{id:"ubuntu-上安装"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#ubuntu-上安装","aria-hidden":"true"}},[e._v("#")]),e._v(" Ubuntu 上安装")]),s("h3",{attrs:{id:"源码安装"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#源码安装","aria-hidden":"true"}},[e._v("#")]),e._v(" 源码安装")]),s("p",[e._v("以下部分我们将介绍在Ubuntu Linux下安装 Node.js 。 其他的Linux系统,如Centos等类似如下安装步骤。")]),s("p",[e._v("在 Github 上获取 Node.js 源码:")]),s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("$ sudo git clone https://github.com/nodejs/node.git\nCloning into 'node'...\n")])]),s("p",[e._v("修改目录权限:")]),s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("$ sudo chmod -R 755 node\n")])]),s("p",[e._v("使用 ./configure 创建编译文件,并按照:")]),s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("$ cd node\n$ sudo ./configure\n$ sudo make\n$ sudo make install\n")])]),s("p",[e._v("查看 node 版本:")]),s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("$ node --version\nv0.10.25\n")])]),s("h3",{attrs:{id:"ubuntu-apt-get命令安装"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#ubuntu-apt-get命令安装","aria-hidden":"true"}},[e._v("#")]),e._v(" Ubuntu apt-get命令安装")]),s("p",[e._v("命令格式如下:")]),s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("sudo apt-get install nodejs\nsudo apt-get install npm\n")])]),s("hr"),s("h2",{attrs:{id:"centos-下安装"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#centos-下安装","aria-hidden":"true"}},[e._v("#")]),e._v(" CentOS 下安装")]),s("p",[e._v("1、下载源码,你需要在"),s("a",{attrs:{href:"https://nodejs.org/en/download/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://nodejs.org/en/download/")]),e._v("下载最新的Nodejs版本,本文以v0.10.24为例:")]),s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("cd /usr/local/src/\nwget http://nodejs.org/dist/v0.10.24/node-v0.10.24.tar.gz\n")])]),s("p",[e._v("2、解压源码")]),s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("tar zxvf node-v0.10.24.tar.gz\n")])]),s("p",[e._v("3、 编译安装")]),s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("cd node-v0.10.24\n./configure --prefix=/usr/local/node/0.10.24\nmake\nmake install\n")])]),s("p",[e._v("4、 配置NODE_HOME,进入profile编辑环境变量")]),s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("vim /etc/profile\n")])]),s("p",[e._v("设置nodejs环境变量,在 export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL 一行的上面添加如下内容:")]),s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("#set for nodejs\nexport NODE_HOME=/usr/local/node/0.10.24\nexport PATH=$NODE_HOME/bin:$PATH\n")])]),s("p",[e._v(":wq保存并退出,编译/etc/profile 使配置生效")]),s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("source /etc/profile\n")])]),s("p",[e._v("验证是否安装配置成功")]),s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("node -v\n")])]),s("p",[e._v("npm模块安装路径")]),s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("/usr/local/node/0.10.24/lib/node_modules/\n")])]),s("p",[e._v("**注:**Nodejs 官网提供了编译好的Linux二进制包,你也可以下载下来直接应用。")]),s("hr"),s("hr")])}],!1,null,null,null);t.default=o.exports}}]); -------------------------------------------------------------------------------- /dist/ins-con/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Nodejs-Tutorial | 安装配置 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |

安装配置

本章节我们将向大家介绍在window和Linux上安装Node.js的方法。

本安装教程以Node.js v4.4.3 LTS(长期支持版本)版本为例。

Node.js安装包及源码下载地址为:https://nodejs.org/en/download/

你可以根据不同平台系统选择你需要的Node.js安装包。

Node.js 历史版本下载地址:https://nodejs.org/dist/

注意: Linux上安装Node.js需要安装Python 2.6 或 2.7 ,不建议安装Python 3.0以上版本。


Window 上安装

你可以采用以下两种方式来安装。

1、Windows 安装包(.msi)

32 位安装包下载地址 : https://nodejs.org/dist/v4.4.3/node-v4.4.3-x86.msi

64 位安装包下载地址 : https://nodejs.org/dist/v4.4.3/node-v4.4.3-x64.msi

本文实例以 v0.10.26 版本为例,其他版本类似, 安装步骤:

步骤 1 : 双击下载后的安装包 v0.10.26,如下所示:

步骤 2 : 点击以上的Run(运行),将出现如下界面:

步骤 3 : 勾选接受协议选项,点击 next(下一步) 按钮 :

步骤 4 : Node.js默认安装目录为 "C:\Program Files\nodejs" , 你可以修改目录,并点击 next(下一步):

步骤 5 : 点击树形图标来选择你需要的安装模式 , 然后点击下一步 next(下一步):

步骤 6 :点击 Install(安装) 开始安装Node.js。你也可以点击 Back(返回)来修改先前的配置。 然后并点击 next(下一步):

安装过程:

点击 Finish(完成)按钮退出安装向导。

检测PATH环境变量是否配置了Node.js,点击开始=》运行=》输入"cmd" => 输入命令"path",输出如下结果:

PATH=C:\oraclexe\app\oracle\product\10.2.0\server\bin;C:\Windows\system32;
21 | C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;
22 | c:\python32\python;C:\MinGW\bin;C:\Program Files\GTK2-Runtime\lib;
23 | C:\Program Files\MySQL\MySQL Server 5.5\bin;C:\Program Files\nodejs\;
24 | C:\Users\rg\AppData\Roaming\npm
25 | 

我们可以看到环境变量中已经包含了C:\Program Files\nodejs\

检查Node.js版本

2、Windows 二进制文件 (.exe)安装

32 位安装包下载地址 : http://nodejs.org/dist/v0.10.26/node.exe

64 位安装包下载地址 : http://nodejs.org/dist/v0.10.26/x64/node.exe

安装步骤

步骤 1 : 双击下载的安装包 Node.exe ,将出现如下界面 :

点击 Run(运行)按钮将出现命令行窗口:

版本测试

进入 node.exe 所在的目录,如下所示:

如果你获得以上输出结果,说明你已经成功安装了Node.js。


Ubuntu 上安装

源码安装

以下部分我们将介绍在Ubuntu Linux下安装 Node.js 。 其他的Linux系统,如Centos等类似如下安装步骤。

在 Github 上获取 Node.js 源码:

$ sudo git clone https://github.com/nodejs/node.git
26 | Cloning into 'node'...
27 | 

修改目录权限:

$ sudo chmod -R 755 node
28 | 

使用 ./configure 创建编译文件,并按照:

$ cd node
29 | $ sudo ./configure
30 | $ sudo make
31 | $ sudo make install
32 | 

查看 node 版本:

$ node --version
33 | v0.10.25
34 | 

Ubuntu apt-get命令安装

命令格式如下:

sudo apt-get install nodejs
35 | sudo apt-get install npm
36 | 

CentOS 下安装

1、下载源码,你需要在https://nodejs.org/en/download/下载最新的Nodejs版本,本文以v0.10.24为例:

cd /usr/local/src/
37 | wget http://nodejs.org/dist/v0.10.24/node-v0.10.24.tar.gz
38 | 

2、解压源码

tar zxvf node-v0.10.24.tar.gz
39 | 

3、 编译安装

cd node-v0.10.24
40 | ./configure --prefix=/usr/local/node/0.10.24
41 | make
42 | make install
43 | 

4、 配置NODE_HOME,进入profile编辑环境变量

vim /etc/profile
44 | 

设置nodejs环境变量,在 export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL 一行的上面添加如下内容:

#set for nodejs
45 | export NODE_HOME=/usr/local/node/0.10.24
46 | export PATH=$NODE_HOME/bin:$PATH
47 | 

:wq保存并退出,编译/etc/profile 使配置生效

source /etc/profile
48 | 

验证是否安装配置成功

node -v
49 | 

npm模块安装路径

/usr/local/node/0.10.24/lib/node_modules/
50 | 

**注:**Nodejs 官网提供了编译好的Linux二进制包,你也可以下载下来直接应用。



51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /dist/assets/css/3.styles.10349f94.css: -------------------------------------------------------------------------------- 1 | .home{padding:3.6rem 2rem 0;max-width:960px;margin:0 auto}.home .hero{text-align:center}.home .hero img{max-height:280px;display:block;margin:3rem auto 1.5rem}.home .hero h1{font-size:3rem}.home .hero .action,.home .hero .description,.home .hero h1{margin:1.8rem auto}.home .hero .description{max-width:35rem;font-size:1.6rem;line-height:1.3;color:#6a8bad}.home .hero .action-button{display:inline-block;font-size:1.2rem;color:#fff;background-color:#f5712c;padding:.8rem 1.6rem;border-radius:4px;transition:background-color .1s ease;box-sizing:border-box;border-bottom:1px solid #f45e10}.home .hero .action-button:hover{background-color:#f67f41}.home .features{border-top:1px solid #eaecef;padding:1.2rem 0;margin-top:2.5rem;display:flex;flex-wrap:wrap;align-items:flex-start;align-content:strech;justify-content:space-between}.home .feature{flex-grow:1;flex-basis:30%;max-width:30%}.home .feature h2{font-size:1.4rem;font-weight:500;border-bottom:none;padding-bottom:0;color:#3a5169}.home .feature p{color:#4e6e8e}.home .footer{padding:2.5rem;border-top:1px solid #eaecef;text-align:center;color:#4e6e8e}@media (max-width:719px){.home .features{flex-direction:column}.home .feature{max-width:100%;padding:0 2.5rem}}@media (max-width:419px){.home{padding-left:1.5rem;padding-right:1.5rem}.home .hero img{max-height:210px;margin:2rem auto 1.2rem}.home .hero h1{font-size:2rem}.home .hero .action,.home .hero .description,.home .hero h1{margin:1.2rem auto}.home .hero .description{font-size:1.2rem}.home .hero .action-button{font-size:1rem;padding:.6rem 1.2rem}.home .feature h2{font-size:1.25rem}}.sidebar-button{display:none;width:1.25rem;height:1.25rem;position:absolute;padding:.6rem;top:.6rem;left:1rem}.sidebar-button .icon{display:block;width:1.25rem;height:1.25rem}@media (max-width:719px){.sidebar-button{display:block}}.search-box{display:inline-block;position:relative;margin-right:.5rem}.search-box input{cursor:pointer;width:10rem;color:#4e6e8e;display:inline-block;border:1px solid #cfd4db;border-radius:2rem;font-size:.9rem;line-height:2rem;padding:0 .5rem 0 2rem;outline:none;transition:all .2s ease;background:#fff url(/assets/img/search.83621669.svg) .6rem .5rem no-repeat;background-size:1rem}.search-box input:focus{cursor:auto;border-color:#f5712c}.search-box .suggestions{background:#fff;width:20rem;position:absolute;top:1.5rem;border:1px solid #cfd4db;border-radius:6px;padding:.4rem;list-style-type:none}.search-box .suggestions.align-right{right:0}.search-box .suggestion{line-height:1.4;padding:.4rem .6rem;border-radius:4px}.search-box .suggestion a{color:#5d82a6}.search-box .suggestion a .page-title{font-weight:600}.search-box .suggestion a .header{font-size:.9em;margin-left:.25em}.search-box .suggestion.focused{background-color:#f3f4f5}.search-box .suggestion.focused a{color:#f5712c}@media (max-width:959px){.search-box input{width:0;border-color:transparent;position:relative;left:1rem}.search-box input:focus{left:0;width:10rem}}@media (max-width:719px){.search-box{margin-right:0}.search-box .suggestions{right:0}}@media (max-width:419px){.search-box .suggestions{width:calc(100vw - 4rem)}.search-box input:focus{width:8rem}}.icon.outbound{color:#aaa;display:inline-block}.dropdown-enter,.dropdown-leave-to{height:0!important}.dropdown-wrapper .dropdown-title{display:block}.dropdown-wrapper .dropdown-title:hover{border-color:transparent}.dropdown-wrapper .dropdown-title .arrow{vertical-align:middle;margin-top:-1px;margin-left:.4rem}.dropdown-wrapper .nav-dropdown .dropdown-item{color:inherit;line-height:1.7rem}.dropdown-wrapper .nav-dropdown .dropdown-item h4{margin:.45rem 0 0;border-top:1px solid #eee;padding:.45rem 1.5rem 0 1.25rem}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem-wrapper{padding:0;list-style:none}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem-wrapper .dropdown-subitem{font-size:.9em}.dropdown-wrapper .nav-dropdown .dropdown-item a{display:block;height:1.7rem;line-height:1.7rem;position:relative;border-bottom:none;font-weight:400;margin-bottom:0;padding:0 1.5rem 0 1.25rem}.dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active,.dropdown-wrapper .nav-dropdown .dropdown-item a:hover{color:#f5712c}.dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active:after{content:"";width:0;height:0;border-left:5px solid #f5712c;border-top:3px solid transparent;border-bottom:3px solid transparent;position:absolute;top:calc(50% - 2px);left:9px}.dropdown-wrapper .nav-dropdown .dropdown-item:first-child h4{margin-top:0;padding-top:0;border-top:0}@media (max-width:719px){.dropdown-wrapper.open .dropdown-title{margin-bottom:.5rem}.dropdown-wrapper .nav-dropdown{transition:height .1s ease-out;overflow:hidden}.dropdown-wrapper .nav-dropdown .dropdown-item h4{border-top:0;margin-top:0;padding-top:0}.dropdown-wrapper .nav-dropdown .dropdown-item>a,.dropdown-wrapper .nav-dropdown .dropdown-item h4{font-size:15px;height:2rem;line-height:2rem}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem{font-size:14px;padding-left:1rem}}@media (min-width:719px){.dropdown-wrapper{height:1.8rem}.dropdown-wrapper:hover .nav-dropdown{display:block!important}.dropdown-wrapper .dropdown-title .arrow{border-left:4px solid transparent;border-right:4px solid transparent;border-top:6px solid #ccc;border-bottom:0}.dropdown-wrapper .nav-dropdown{display:none;height:auto!important;box-sizing:border-box;max-height:calc(100vh - 2.7rem);overflow-y:auto;position:absolute;top:100%;right:0;background-color:#fff;padding:.6rem 0;border:1px solid #ddd;border-bottom-color:#ccc;text-align:left;border-radius:.25rem;white-space:nowrap;margin:0}}.nav-links{display:inline-block}.nav-links a{line-height:1.4rem;color:inherit}.nav-links a.router-link-active,.nav-links a:hover{color:#f5712c}.nav-links .nav-item{cursor:pointer;position:relative;display:inline-block;margin-left:1.5rem;line-height:2rem}.nav-links .repo-link{margin-left:1.5rem}@media (max-width:719px){.nav-links .nav-item,.nav-links .repo-link{margin-left:0}}@media (min-width:719px){.nav-links a.router-link-active,.nav-links a:hover{color:#2c3e50}.nav-item>a.router-link-active,.nav-item>a:hover{margin-bottom:-2px;border-bottom:2px solid #f67c3d}}.navbar{padding:.7rem 1.5rem;line-height:2.2rem;position:relative}.navbar a,.navbar img,.navbar span{display:inline-block}.navbar .logo{height:2.2rem;min-width:2.2rem;margin-right:.8rem;vertical-align:top}.navbar .site-name{font-size:1.3rem;font-weight:600;color:#2c3e50;position:relative}.navbar .links{font-size:.9rem;position:absolute;right:1.5rem;top:.7rem}@media (max-width:719px){.navbar{padding-left:4rem}.navbar .can-hide{display:none}}.page{padding-bottom:2rem}.edit-link.content{padding-top:0!important}.edit-link.content a{color:#4e6e8e;margin-right:.25rem}.page-nav.content{padding-top:1rem!important;padding-bottom:0!important}.page-nav.content .inner{min-height:2rem;margin-top:0!important;border-top:1px solid #eaecef;padding-top:1rem}.page-nav.content .next{float:right}.sidebar .sidebar-sub-headers{padding-left:1rem;font-size:.95em}a.sidebar-link{font-weight:400;display:inline-block;color:#2c3e50;border-left:.25rem solid transparent;padding:.35rem 1rem .35rem 1.25rem;line-height:1.4;width:100%;box-sizing:border-box}a.sidebar-link:hover{color:#f5712c}a.sidebar-link.active{font-weight:600;color:#f5712c;border-left-color:#f5712c}.sidebar-group a.sidebar-link{padding-left:2rem}.sidebar-sub-headers a.sidebar-link{padding-top:.25rem;padding-bottom:.25rem;border-left:none}.sidebar-sub-headers a.sidebar-link.active{font-weight:500}.sidebar-group:not(.first){margin-top:1em}.sidebar-group .sidebar-group{padding-left:.5em}.sidebar-group:not(.collapsable) .sidebar-heading{cursor:auto;color:inherit}.sidebar-heading{color:#999;transition:color .15s ease;cursor:pointer;font-size:1.1em;font-weight:700;padding-left:1.5rem;margin-top:0;margin-bottom:.5rem}.sidebar-heading.open,.sidebar-heading:hover{color:inherit}.sidebar-heading .arrow{position:relative;top:-.12em;left:.5em}.sidebar-heading:.open .arrow{top:-.18em}.sidebar-group-items{transition:height .1s ease-out;overflow:hidden}.sidebar ul{padding:0;margin:0;list-style-type:none}.sidebar a{display:inline-block}.sidebar .nav-links{display:none;border-bottom:1px solid #eaecef;padding:.5rem 0 .75rem 0}.sidebar .nav-links a{font-weight:600}.sidebar .nav-links .nav-item,.sidebar .nav-links .repo-link{display:block;line-height:1.25rem;font-size:1.1em;padding:.5rem 0 .5rem 1.5rem}.sidebar .sidebar-links{padding:1.5rem 0}@media (max-width:719px){.sidebar .nav-links{display:block}.sidebar .sidebar-links{padding:1rem 0}}code[class*=language-],pre[class*=language-]{color:#ccc;background:none;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.block-comment,.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#999}.token.punctuation{color:#ccc}.token.attr-name,.token.deleted,.token.namespace,.token.tag{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.function,.token.number{color:#f08d49}.token.class-name,.token.constant,.token.property,.token.symbol{color:#f8c555}.token.atrule,.token.builtin,.token.important,.token.keyword,.token.selector{color:#cc99cd}.token.attr-value,.token.char,.token.regex,.token.string,.token.variable{color:#7ec699}.token.entity,.token.operator,.token.url{color:#67cdcc}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}.navbar .site-name{color:#f5712c}.page .custom-block.tip{border-color:#f5712c}a.sidebar-link{font-weight:700}.sidebar-sub-header a.sidebar-link{font-weight:400}.page .content .logo{padding-top:2.6rem;padding-bottom:2rem}#nprogress{pointer-events:none}#nprogress .bar{background:#f5712c;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #f5712c,0 0 5px #f5712c;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#f5712c;border-left-color:#f5712c;border-radius:50%;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}.content code{color:#476582;padding:.25rem .5rem;margin:0;font-size:.85em;background-color:rgba(27,31,35,.05);border-radius:3px}.content pre,.content pre[class*=language-]{background-color:#282c34;line-height:1.4;border-radius:6px;padding:1.25rem 1.5rem;margin:.85rem 0;white-space:pre-wrap;word-break:break-word;overflow:auto;position:relative}.content pre[class*=language-] code,.content pre code{color:#fff;padding:0;background-color:transparent;border-radius:0}.content pre:before,.content pre[class*=language-]:before{position:absolute;top:.8em;right:1em;font-size:.75rem;color:hsla(0,0%,100%,.4)}.content .highlighted-line{background-color:rgba(0,0,0,.66);display:block;margin:0 -1.5rem;padding:0 1.5rem}pre[class=language-javascript]:before,pre[class=language-js]:before{content:"js"}pre[class=language-html]:before,pre[class=language-markup]:before{content:"html"}pre[class=language-markdown]:before,pre[class=language-md]:before{content:"md"}pre[class=language-vue]:before{content:"vue"}pre[class=language-css]:before{content:"css"}pre[class=language-sass]:before{content:"sass"}pre[class=language-less]:before{content:"less"}pre[class=language-scss]:before{content:"scss"}pre[class=language-stylus]:before{content:"stylus"}pre[class=language-json]:before{content:"json"}pre[class=language-ruby]:before{content:"rb"}pre[class=language-python]:before{content:"py"}pre[class=language-go]:before{content:"go"}pre[class=language-java]:before{content:"java"}pre[class=language-c]:before{content:"c"}pre[class=language-bash]:before{content:"sh"}.custom-block .custom-block-title{font-weight:600;margin-bottom:-.4rem}.custom-block.danger,.custom-block.tip,.custom-block.warning{padding:.1rem 1.5rem;border-left-width:.5rem;border-left-style:solid;margin:1rem 0}.custom-block.tip{background-color:#f3f5f7;border-color:#42b983}.custom-block.warning{background-color:rgba(255,229,100,.3);border-color:#e7c000;color:#6b5900}.custom-block.warning .custom-block-title{color:#b29400}.custom-block.warning a{color:#2c3e50}.custom-block.danger{background-color:#ffe6e6;border-color:#c00;color:#4d0000}.custom-block.danger .custom-block-title{color:#900}.custom-block.danger a{color:#2c3e50}.arrow{display:inline-block;width:0;height:0}.arrow.up{border-bottom:6px solid #ccc}.arrow.down,.arrow.up{border-left:4px solid transparent;border-right:4px solid transparent}.arrow.down{border-top:6px solid #ccc}.arrow.right{border-left:6px solid #ccc}.arrow.left,.arrow.right{border-top:4px solid transparent;border-bottom:4px solid transparent}.arrow.left{border-right:6px solid #ccc}body,html{padding:0;margin:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;color:#2c3e50}.page{padding-left:20rem}.navbar{z-index:20;right:0;height:3.6rem;background-color:#fff;box-sizing:border-box;border-bottom:1px solid #eaecef}.navbar,.sidebar-mask{position:fixed;top:0;left:0}.sidebar-mask{z-index:9;width:100vw;height:100vh;display:none}.sidebar{font-size:15px;background-color:#fff;width:20rem;position:fixed;z-index:10;margin:0;top:3.6rem;left:0;bottom:0;box-sizing:border-box;border-right:1px solid #eaecef;overflow-y:auto}.content:not(.custom){max-width:740px;margin:0 auto;padding:2rem 2.5rem}.content:not(.custom)>:first-child{margin-top:3.6rem}.content:not(.custom) a:hover{text-decoration:underline}.content:not(.custom) p.demo{padding:1rem 1.5rem;border:1px solid #ddd;border-radius:4px}.content:not(.custom) img{max-width:100%}.content.custom{padding:0;margin:0}a{font-weight:500;text-decoration:none}a,p a code{color:#f5712c}p a code{font-weight:400}kbd{background:#eee;border:.15rem solid #ddd;border-bottom:.25rem solid #ddd;border-radius:.15rem;padding:0 .15em}blockquote{font-size:1.2rem;color:#999;border-left:.25rem solid #dfe2e5;margin-left:0;padding-left:1rem}ol,ul{padding-left:1.2em}strong{font-weight:600}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25}.content:not(.custom)>h1,.content:not(.custom)>h2,.content:not(.custom)>h3,.content:not(.custom)>h4,.content:not(.custom)>h5,.content:not(.custom)>h6{margin-top:-3.1rem;padding-top:4.6rem;margin-bottom:0}.content:not(.custom)>h1:first-child,.content:not(.custom)>h2:first-child,.content:not(.custom)>h3:first-child,.content:not(.custom)>h4:first-child,.content:not(.custom)>h5:first-child,.content:not(.custom)>h6:first-child{margin-top:-1.5rem;margin-bottom:1rem}.content:not(.custom)>h1:first-child+.custom-block,.content:not(.custom)>h1:first-child+p,.content:not(.custom)>h1:first-child+pre,.content:not(.custom)>h2:first-child+.custom-block,.content:not(.custom)>h2:first-child+p,.content:not(.custom)>h2:first-child+pre,.content:not(.custom)>h3:first-child+.custom-block,.content:not(.custom)>h3:first-child+p,.content:not(.custom)>h3:first-child+pre,.content:not(.custom)>h4:first-child+.custom-block,.content:not(.custom)>h4:first-child+p,.content:not(.custom)>h4:first-child+pre,.content:not(.custom)>h5:first-child+.custom-block,.content:not(.custom)>h5:first-child+p,.content:not(.custom)>h5:first-child+pre,.content:not(.custom)>h6:first-child+.custom-block,.content:not(.custom)>h6:first-child+p,.content:not(.custom)>h6:first-child+pre{margin-top:2rem}h1:hover .header-anchor,h2:hover .header-anchor,h3:hover .header-anchor,h4:hover .header-anchor,h5:hover .header-anchor,h6:hover .header-anchor{opacity:1}h1{font-size:2.2rem}h2{font-size:1.65rem;padding-bottom:.3rem;border-bottom:1px solid #eaecef}h3{font-size:1.35rem}a.header-anchor{font-size:.85em;float:left;margin-left:-.87em;padding-right:.23em;margin-top:.125em;opacity:0}a.header-anchor:hover{text-decoration:none}code,kbd{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}ol,p,ul{line-height:1.7}hr{border:0;border-top:1px solid #eaecef}table{border-collapse:collapse;margin:1rem 0}tr{border-top:1px solid #dfe2e5}tr:nth-child(2n){background-color:#f6f8fa}td,th{border:1px solid #dfe2e5;padding:.6em 1em}.custom-layout{padding-top:3.6rem}.theme-container.sidebar-open .sidebar-mask{display:block}.theme-container.no-navbar .content:not(.custom) h1,.theme-container.no-navbar .content:not(.custom) h2,.theme-container.no-navbar .content:not(.custom) h3,.theme-container.no-navbar .content:not(.custom) h4,.theme-container.no-navbar .content:not(.custom) h5,.theme-container.no-navbar .content:not(.custom) h6{margin-top:1.5rem;padding-top:0}@media (min-width:720px){.theme-container.no-sidebar .sidebar{display:none}.theme-container.no-sidebar .page{padding-left:0}}@media (max-width:959px){.sidebar{font-size:15px;width:16.4rem}.page{padding-left:16.4rem}.content:not(.custom){padding:2rem}}@media (max-width:719px){.sidebar{top:0;padding-top:3.6rem;transform:translateX(-100%);transition:transform .2s ease}.page{padding-left:0}.theme-container.sidebar-open .sidebar{transform:translateX(0)}}@media (max-width:419px){h1{font-size:1.9rem}.content:not(.custom){padding:1.5rem}.content pre,.content pre[class*=language-]{margin:.85rem -1.5rem;border-radius:0}} -------------------------------------------------------------------------------- /dist/assets/js/app.f329bcca.js: -------------------------------------------------------------------------------- 1 | (window.webpackJsonp=window.webpackJsonp||[]).push([[3],[]]);!function(t){function e(e){for(var r,a,s=e[0],l=e[1],u=e[2],f=0,p=[];f
'};function i(t,e,n){return tn?n:t}function o(t){return 100*(-1+t)}n.configure=function(t){var e,n;for(e in t)void 0!==(n=t[e])&&t.hasOwnProperty(e)&&(r[e]=n);return this},n.status=null,n.set=function(t){var e=n.isStarted();t=i(t,r.minimum,1),n.status=1===t?null:t;var l=n.render(!e),u=l.querySelector(r.barSelector),c=r.speed,f=r.easing;return l.offsetWidth,a(function(e){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),s(u,function(t,e,n){var i;return(i="translate3d"===r.positionUsing?{transform:"translate3d("+o(t)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+o(t)+"%,0)"}:{"margin-left":o(t)+"%"}).transition="all "+e+"ms "+n,i}(t,c,f)),1===t?(s(l,{transition:"none",opacity:1}),l.offsetWidth,setTimeout(function(){s(l,{transition:"all "+c+"ms linear",opacity:0}),setTimeout(function(){n.remove(),e()},c)},c)):setTimeout(e,c)}),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var t=function(){setTimeout(function(){n.status&&(n.trickle(),t())},r.trickleSpeed)};return r.trickle&&t(),this},n.done=function(t){return t||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(t){var e=n.status;return e?("number"!=typeof t&&(t=(1-e)*i(Math.random()*e,.1,.95)),e=i(e+t,0,.994),n.set(e)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},t=0,e=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===e&&n.start(),t++,e++,r.always(function(){0==--e?(t=0,n.done()):n.set((t-e)/t)}),this):this},n.render=function(t){if(n.isRendered())return document.getElementById("nprogress");u(document.documentElement,"nprogress-busy");var e=document.createElement("div");e.id="nprogress",e.innerHTML=r.template;var i,a=e.querySelector(r.barSelector),l=t?"-100":o(n.status||0),c=document.querySelector(r.parent);return s(a,{transition:"all 0 linear",transform:"translate3d("+l+"%,0,0)"}),r.showSpinner||(i=e.querySelector(r.spinnerSelector))&&p(i),c!=document.body&&u(c,"nprogress-custom-parent"),c.appendChild(e),e},n.remove=function(){c(document.documentElement,"nprogress-busy"),c(document.querySelector(r.parent),"nprogress-custom-parent");var t=document.getElementById("nprogress");t&&p(t)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var t=document.body.style,e="WebkitTransform"in t?"Webkit":"MozTransform"in t?"Moz":"msTransform"in t?"ms":"OTransform"in t?"O":"";return e+"Perspective"in t?"translate3d":e+"Transform"in t?"translate":"margin"};var a=function(){var t=[];function e(){var n=t.shift();n&&n(e)}return function(n){t.push(n),1==t.length&&e()}}(),s=function(){var t=["Webkit","O","Moz","ms"],e={};function n(n){return n=n.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(t,e){return e.toUpperCase()}),e[n]||(e[n]=function(e){var n=document.body.style;if(e in n)return e;for(var r,i=t.length,o=e.charAt(0).toUpperCase()+e.slice(1);i--;)if((r=t[i]+o)in n)return r;return e}(n))}function r(t,e,r){e=n(e),t.style[e]=r}return function(t,e){var n,i,o=arguments;if(2==o.length)for(n in e)void 0!==(i=e[n])&&e.hasOwnProperty(n)&&r(t,n,i);else r(t,o[1],o[2])}}();function l(t,e){var n="string"==typeof t?t:f(t);return n.indexOf(" "+e+" ")>=0}function u(t,e){var n=f(t),r=n+e;l(n,e)||(t.className=r.substring(1))}function c(t,e){var n,r=f(t);l(t,e)&&(n=r.replace(" "+e+" "," "),t.className=n.substring(1,n.length-1))}function f(t){return(" "+(t.className||"")+" ").replace(/\s+/gi," ")}function p(t){t&&t.parentNode&&t.parentNode.removeChild(t)}return n})?r.call(e,n,e,t):r)||(t.exports=i)},function(t,e){t.exports={}},function(t,e,n){"use strict";n.r(e);n(48);Object.assign||(Object.assign=n(46)); 4 | /*! 5 | * Vue.js v2.5.16 6 | * (c) 2014-2018 Evan You 7 | * Released under the MIT License. 8 | */var r=Object.freeze({});function i(t){return void 0===t||null===t}function o(t){return void 0!==t&&null!==t}function a(t){return!0===t}function s(t){return"string"==typeof t||"number"==typeof t||"symbol"==typeof t||"boolean"==typeof t}function l(t){return null!==t&&"object"==typeof t}var u=Object.prototype.toString;function c(t){return"[object Object]"===u.call(t)}function f(t){return"[object RegExp]"===u.call(t)}function p(t){var e=parseFloat(String(t));return e>=0&&Math.floor(e)===e&&isFinite(t)}function h(t){return null==t?"":"object"==typeof t?JSON.stringify(t,null,2):String(t)}function d(t){var e=parseFloat(t);return isNaN(e)?t:e}function v(t,e){for(var n=Object.create(null),r=t.split(","),i=0;i-1)return t.splice(n,1)}}var y=Object.prototype.hasOwnProperty;function b(t,e){return y.call(t,e)}function _(t){var e=Object.create(null);return function(n){return e[n]||(e[n]=t(n))}}var w=/-(\w)/g,x=_(function(t){return t.replace(w,function(t,e){return e?e.toUpperCase():""})}),C=_(function(t){return t.charAt(0).toUpperCase()+t.slice(1)}),k=/\B([A-Z])/g,$=_(function(t){return t.replace(k,"-$1").toLowerCase()});var O=Function.prototype.bind?function(t,e){return t.bind(e)}:function(t,e){function n(n){var r=arguments.length;return r?r>1?t.apply(e,arguments):t.call(e,n):t.call(e)}return n._length=t.length,n};function A(t,e){e=e||0;for(var n=t.length-e,r=new Array(n);n--;)r[n]=t[n+e];return r}function S(t,e){for(var n in e)t[n]=e[n];return t}function E(t){for(var e={},n=0;n0,J=G&&G.indexOf("edge/")>0,Y=(G&&G.indexOf("android"),G&&/iphone|ipad|ipod|ios/.test(G)||"ios"===W),Q=(G&&/chrome\/\d+/.test(G),{}.watch),Z=!1;if(V)try{var tt={};Object.defineProperty(tt,"passive",{get:function(){Z=!0}}),window.addEventListener("test-passive",null,tt)}catch(t){}var et=function(){return void 0===H&&(H=!V&&!z&&"undefined"!=typeof global&&"server"===global.process.env.VUE_ENV),H},nt=V&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function rt(t){return"function"==typeof t&&/native code/.test(t.toString())}var it,ot="undefined"!=typeof Symbol&&rt(Symbol)&&"undefined"!=typeof Reflect&&rt(Reflect.ownKeys);it="undefined"!=typeof Set&&rt(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var at=j,st=0,lt=function(){this.id=st++,this.subs=[]};lt.prototype.addSub=function(t){this.subs.push(t)},lt.prototype.removeSub=function(t){m(this.subs,t)},lt.prototype.depend=function(){lt.target&<.target.addDep(this)},lt.prototype.notify=function(){for(var t=this.subs.slice(),e=0,n=t.length;e-1)if(o&&!b(i,"default"))a=!1;else if(""===a||a===$(t)){var l=Bt(String,i.type);(l<0||s0&&(ue((u=t(u,(n||"")+"_"+l))[0])&&ue(f)&&(r[c]=vt(f.text+u[0].text),u.shift()),r.push.apply(r,u)):s(u)?ue(f)?r[c]=vt(f.text+u):""!==u&&r.push(vt(u)):ue(u)&&ue(f)?r[c]=vt(f.text+u.text):(a(e._isVList)&&o(u.tag)&&i(u.key)&&o(n)&&(u.key="__vlist"+n+"_"+l+"__"),r.push(u)));return r}(t):void 0}function ue(t){return o(t)&&o(t.text)&&!1===t.isComment}function ce(t,e){return(t.__esModule||ot&&"Module"===t[Symbol.toStringTag])&&(t=t.default),l(t)?e.extend(t):t}function fe(t){return t.isComment&&t.asyncFactory}function pe(t){if(Array.isArray(t))for(var e=0;eSe&&Ce[n].id>t.id;)n--;Ce.splice(n+1,0,t)}else Ce.push(t);Oe||(Oe=!0,Zt(Ee))}}(this)},Te.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||l(t)||this.deep){var e=this.value;if(this.value=t,this.user)try{this.cb.call(this.vm,t,e)}catch(t){qt(t,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,t,e)}}},Te.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},Te.prototype.depend=function(){for(var t=this.deps.length;t--;)this.deps[t].depend()},Te.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||m(this.vm._watchers,this);for(var t=this.deps.length;t--;)this.deps[t].removeSub(this);this.active=!1}};var Le={enumerable:!0,configurable:!0,get:j,set:j};function Pe(t,e,n){Le.get=function(){return this[e][n]},Le.set=function(t){this[e][n]=t},Object.defineProperty(t,n,Le)}function Ie(t){t._watchers=[];var e=t.$options;e.props&&function(t,e){var n=t.$options.propsData||{},r=t._props={},i=t.$options._propKeys=[];t.$parent&&wt(!1);var o=function(o){i.push(o);var a=Mt(o,e,n,t);Ot(r,o,a),o in t||Pe(t,"_props",o)};for(var a in e)o(a);wt(!0)}(t,e.props),e.methods&&function(t,e){t.$options.props;for(var n in e)t[n]=null==e[n]?j:O(e[n],t)}(t,e.methods),e.data?function(t){var e=t.$options.data;c(e=t._data="function"==typeof e?function(t,e){ct();try{return t.call(e,e)}catch(t){return qt(t,e,"data()"),{}}finally{ft()}}(e,t):e||{})||(e={});var n=Object.keys(e),r=t.$options.props,i=(t.$options.methods,n.length);for(;i--;){var o=n[i];0,r&&b(r,o)||(void 0,36!==(a=(o+"").charCodeAt(0))&&95!==a&&Pe(t,"_data",o))}var a;$t(e,!0)}(t):$t(t._data={},!0),e.computed&&function(t,e){var n=t._computedWatchers=Object.create(null),r=et();for(var i in e){var o=e[i],a="function"==typeof o?o:o.get;0,r||(n[i]=new Te(t,a||j,j,Ne)),i in t||Re(t,i,o)}}(t,e.computed),e.watch&&e.watch!==Q&&function(t,e){for(var n in e){var r=e[n];if(Array.isArray(r))for(var i=0;i=0||n.indexOf(t[i])<0)&&r.push(t[i]);return r}return t}function fn(t){this._init(t)}function pn(t){t.cid=0;var e=1;t.extend=function(t){t=t||{};var n=this,r=n.cid,i=t._Ctor||(t._Ctor={});if(i[r])return i[r];var o=t.name||n.options.name;var a=function(t){this._init(t)};return(a.prototype=Object.create(n.prototype)).constructor=a,a.cid=e++,a.options=Nt(n.options,t),a.super=n,a.options.props&&function(t){var e=t.options.props;for(var n in e)Pe(t.prototype,"_props",n)}(a),a.options.computed&&function(t){var e=t.options.computed;for(var n in e)Re(t.prototype,n,e[n])}(a),a.extend=n.extend,a.mixin=n.mixin,a.use=n.use,M.forEach(function(t){a[t]=n[t]}),o&&(a.options.components[o]=a),a.superOptions=n.options,a.extendOptions=t,a.sealedOptions=S({},a.options),i[r]=a,a}}function hn(t){return t&&(t.Ctor.options.name||t.tag)}function dn(t,e){return Array.isArray(t)?t.indexOf(e)>-1:"string"==typeof t?t.split(",").indexOf(e)>-1:!!f(t)&&t.test(e)}function vn(t,e){var n=t.cache,r=t.keys,i=t._vnode;for(var o in n){var a=n[o];if(a){var s=hn(a.componentOptions);s&&!e(s)&&gn(n,o,r,i)}}}function gn(t,e,n,r){var i=t[e];!i||r&&i.tag===r.tag||i.componentInstance.$destroy(),t[e]=null,m(n,e)}!function(t){t.prototype._init=function(t){var e=this;e._uid=ln++,e._isVue=!0,t&&t._isComponent?function(t,e){var n=t.$options=Object.create(t.constructor.options),r=e._parentVnode;n.parent=e.parent,n._parentVnode=r,n._parentElm=e._parentElm,n._refElm=e._refElm;var i=r.componentOptions;n.propsData=i.propsData,n._parentListeners=i.listeners,n._renderChildren=i.children,n._componentTag=i.tag,e.render&&(n.render=e.render,n.staticRenderFns=e.staticRenderFns)}(e,t):e.$options=Nt(un(e.constructor),t||{},e),e._renderProxy=e,e._self=e,function(t){var e=t.$options,n=e.parent;if(n&&!e.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(t)}t.$parent=n,t.$root=n?n.$root:t,t.$children=[],t.$refs={},t._watcher=null,t._inactive=null,t._directInactive=!1,t._isMounted=!1,t._isDestroyed=!1,t._isBeingDestroyed=!1}(e),function(t){t._events=Object.create(null),t._hasHookEvent=!1;var e=t.$options._parentListeners;e&&ve(t,e)}(e),function(t){t._vnode=null,t._staticTrees=null;var e=t.$options,n=t.$vnode=e._parentVnode,i=n&&n.context;t.$slots=ge(e._renderChildren,i),t.$scopedSlots=r,t._c=function(e,n,r,i){return sn(t,e,n,r,i,!1)},t.$createElement=function(e,n,r,i){return sn(t,e,n,r,i,!0)};var o=n&&n.data;Ot(t,"$attrs",o&&o.attrs||r,null,!0),Ot(t,"$listeners",e._parentListeners||r,null,!0)}(e),xe(e,"beforeCreate"),function(t){var e=Ue(t.$options.inject,t);e&&(wt(!1),Object.keys(e).forEach(function(n){Ot(t,n,e[n])}),wt(!0))}(e),Ie(e),function(t){var e=t.$options.provide;e&&(t._provided="function"==typeof e?e.call(t):e)}(e),xe(e,"created"),e.$options.el&&e.$mount(e.$options.el)}}(fn),function(t){var e={get:function(){return this._data}},n={get:function(){return this._props}};Object.defineProperty(t.prototype,"$data",e),Object.defineProperty(t.prototype,"$props",n),t.prototype.$set=At,t.prototype.$delete=St,t.prototype.$watch=function(t,e,n){if(c(e))return De(this,t,e,n);(n=n||{}).user=!0;var r=new Te(this,t,e,n);return n.immediate&&e.call(this,r.value),function(){r.teardown()}}}(fn),function(t){var e=/^hook:/;t.prototype.$on=function(t,n){if(Array.isArray(t))for(var r=0,i=t.length;r1?A(e):e;for(var n=A(arguments,1),r=0,i=e.length;rparseInt(this.max)&&gn(a,s[0],s,this._vnode)),e.data.keepAlive=!0}return e||t&&t[0]}}};!function(t){var e={get:function(){return U}};Object.defineProperty(t,"config",e),t.util={warn:at,extend:S,mergeOptions:Nt,defineReactive:Ot},t.set=At,t.delete=St,t.nextTick=Zt,t.options=Object.create(null),M.forEach(function(e){t.options[e+"s"]=Object.create(null)}),t.options._base=t,S(t.options.components,yn),function(t){t.use=function(t){var e=this._installedPlugins||(this._installedPlugins=[]);if(e.indexOf(t)>-1)return this;var n=A(arguments,1);return n.unshift(this),"function"==typeof t.install?t.install.apply(t,n):"function"==typeof t&&t.apply(null,n),e.push(t),this}}(t),function(t){t.mixin=function(t){return this.options=Nt(this.options,t),this}}(t),pn(t),function(t){M.forEach(function(e){t[e]=function(t,n){return n?("component"===e&&c(n)&&(n.name=n.name||t,n=this.options._base.extend(n)),"directive"===e&&"function"==typeof n&&(n={bind:n,update:n}),this.options[e+"s"][t]=n,n):this.options[e+"s"][t]}})}(t)}(fn),Object.defineProperty(fn.prototype,"$isServer",{get:et}),Object.defineProperty(fn.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(fn,"FunctionalRenderContext",{value:Qe}),fn.version="2.5.16";var bn=v("style,class"),_n=v("input,textarea,option,select,progress"),wn=v("contenteditable,draggable,spellcheck"),xn=v("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),Cn="http://www.w3.org/1999/xlink",kn=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},$n=function(t){return kn(t)?t.slice(6,t.length):""},On=function(t){return null==t||!1===t};function An(t){for(var e=t.data,n=t,r=t;o(r.componentInstance);)(r=r.componentInstance._vnode)&&r.data&&(e=Sn(r.data,e));for(;o(n=n.parent);)n&&n.data&&(e=Sn(e,n.data));return function(t,e){if(o(t)||o(e))return En(t,jn(e));return""}(e.staticClass,e.class)}function Sn(t,e){return{staticClass:En(t.staticClass,e.staticClass),class:o(t.class)?[t.class,e.class]:e.class}}function En(t,e){return t?e?t+" "+e:t:e||""}function jn(t){return Array.isArray(t)?function(t){for(var e,n="",r=0,i=t.length;r-1?Zn(t,e,n):xn(e)?On(n)?t.removeAttribute(e):(n="allowfullscreen"===e&&"EMBED"===t.tagName?"true":e,t.setAttribute(e,n)):wn(e)?t.setAttribute(e,On(n)||"false"===n?"false":"true"):kn(e)?On(n)?t.removeAttributeNS(Cn,$n(e)):t.setAttributeNS(Cn,e,n):Zn(t,e,n)}function Zn(t,e,n){if(On(n))t.removeAttribute(e);else{if(X&&!K&&"TEXTAREA"===t.tagName&&"placeholder"===e&&!t.__ieph){var r=function(e){e.stopImmediatePropagation(),t.removeEventListener("input",r)};t.addEventListener("input",r),t.__ieph=!0}t.setAttribute(e,n)}}var tr={create:Yn,update:Yn};function er(t,e){var n=e.elm,r=e.data,a=t.data;if(!(i(r.staticClass)&&i(r.class)&&(i(a)||i(a.staticClass)&&i(a.class)))){var s=An(e),l=n._transitionClasses;o(l)&&(s=En(s,jn(l))),s!==n._prevClass&&(n.setAttribute("class",s),n._prevClass=s)}}var nr,rr={create:er,update:er},ir="__r",or="__c";function ar(t,e,n,r,i){var o;e=(o=e)._withTask||(o._withTask=function(){Kt=!0;var t=o.apply(null,arguments);return Kt=!1,t}),n&&(e=function(t,e,n){var r=nr;return function i(){null!==t.apply(null,arguments)&&sr(e,i,n,r)}}(e,t,r)),nr.addEventListener(t,e,Z?{capture:r,passive:i}:r)}function sr(t,e,n,r){(r||nr).removeEventListener(t,e._withTask||e,n)}function lr(t,e){if(!i(t.data.on)||!i(e.data.on)){var n=e.data.on||{},r=t.data.on||{};nr=e.elm,function(t){if(o(t[ir])){var e=X?"change":"input";t[e]=[].concat(t[ir],t[e]||[]),delete t[ir]}o(t[or])&&(t.change=[].concat(t[or],t.change||[]),delete t[or])}(n),oe(n,r,ar,sr,e.context),nr=void 0}}var ur={create:lr,update:lr};function cr(t,e){if(!i(t.data.domProps)||!i(e.data.domProps)){var n,r,a=e.elm,s=t.data.domProps||{},l=e.data.domProps||{};for(n in o(l.__ob__)&&(l=e.data.domProps=S({},l)),s)i(l[n])&&(a[n]="");for(n in l){if(r=l[n],"textContent"===n||"innerHTML"===n){if(e.children&&(e.children.length=0),r===s[n])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if("value"===n){a._value=r;var u=i(r)?"":String(r);fr(a,u)&&(a.value=u)}else a[n]=r}}}function fr(t,e){return!t.composing&&("OPTION"===t.tagName||function(t,e){var n=!0;try{n=document.activeElement!==t}catch(t){}return n&&t.value!==e}(t,e)||function(t,e){var n=t.value,r=t._vModifiers;if(o(r)){if(r.lazy)return!1;if(r.number)return d(n)!==d(e);if(r.trim)return n.trim()!==e.trim()}return n!==e}(t,e))}var pr={create:cr,update:cr},hr=_(function(t){var e={},n=/:(.+)/;return t.split(/;(?![^(]*\))/g).forEach(function(t){if(t){var r=t.split(n);r.length>1&&(e[r[0].trim()]=r[1].trim())}}),e});function dr(t){var e=vr(t.style);return t.staticStyle?S(t.staticStyle,e):e}function vr(t){return Array.isArray(t)?E(t):"string"==typeof t?hr(t):t}var gr,mr=/^--/,yr=/\s*!important$/,br=function(t,e,n){if(mr.test(e))t.style.setProperty(e,n);else if(yr.test(n))t.style.setProperty(e,n.replace(yr,""),"important");else{var r=wr(e);if(Array.isArray(n))for(var i=0,o=n.length;i-1?e.split(/\s+/).forEach(function(e){return t.classList.add(e)}):t.classList.add(e);else{var n=" "+(t.getAttribute("class")||"")+" ";n.indexOf(" "+e+" ")<0&&t.setAttribute("class",(n+e).trim())}}function $r(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(/\s+/).forEach(function(e){return t.classList.remove(e)}):t.classList.remove(e),t.classList.length||t.removeAttribute("class");else{for(var n=" "+(t.getAttribute("class")||"")+" ",r=" "+e+" ";n.indexOf(r)>=0;)n=n.replace(r," ");(n=n.trim())?t.setAttribute("class",n):t.removeAttribute("class")}}function Or(t){if(t){if("object"==typeof t){var e={};return!1!==t.css&&S(e,Ar(t.name||"v")),S(e,t),e}return"string"==typeof t?Ar(t):void 0}}var Ar=_(function(t){return{enterClass:t+"-enter",enterToClass:t+"-enter-to",enterActiveClass:t+"-enter-active",leaveClass:t+"-leave",leaveToClass:t+"-leave-to",leaveActiveClass:t+"-leave-active"}}),Sr=V&&!K,Er="transition",jr="animation",Tr="transition",Lr="transitionend",Pr="animation",Ir="animationend";Sr&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(Tr="WebkitTransition",Lr="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(Pr="WebkitAnimation",Ir="webkitAnimationEnd"));var Nr=V?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(t){return t()};function Rr(t){Nr(function(){Nr(t)})}function Mr(t,e){var n=t._transitionClasses||(t._transitionClasses=[]);n.indexOf(e)<0&&(n.push(e),kr(t,e))}function Dr(t,e){t._transitionClasses&&m(t._transitionClasses,e),$r(t,e)}function Ur(t,e,n){var r=qr(t,e),i=r.type,o=r.timeout,a=r.propCount;if(!i)return n();var s=i===Er?Lr:Ir,l=0,u=function(){t.removeEventListener(s,c),n()},c=function(e){e.target===t&&++l>=a&&u()};setTimeout(function(){l0&&(n=Er,c=a,f=o.length):e===jr?u>0&&(n=jr,c=u,f=l.length):f=(n=(c=Math.max(a,u))>0?a>u?Er:jr:null)?n===Er?o.length:l.length:0,{type:n,timeout:c,propCount:f,hasTransform:n===Er&&Br.test(r[Tr+"Property"])}}function Hr(t,e){for(;t.length1}function Xr(t,e){!0!==e.data.show&&Vr(e)}var Kr=function(t){var e,n,r={},l=t.modules,u=t.nodeOps;for(e=0;ed?b(t,i(n[m+1])?null:n[m+1].elm,n,h,m,r):h>m&&w(0,e,p,d)}(l,h,d,n,s):o(d)?(o(t.text)&&u.setTextContent(l,""),b(l,null,d,0,d.length-1,n)):o(h)?w(0,h,0,h.length-1):o(t.text)&&u.setTextContent(l,""):t.text!==e.text&&u.setTextContent(l,e.text),o(p)&&o(c=p.hook)&&o(c=c.postpatch)&&c(t,e)}}}function $(t,e,n){if(a(n)&&o(t.parent))t.parent.data.pendingInsert=e;else for(var r=0;r-1,a.selected!==o&&(a.selected=o);else if(P(ti(a),r))return void(t.selectedIndex!==s&&(t.selectedIndex=s));i||(t.selectedIndex=-1)}}function Zr(t,e){return e.every(function(e){return!P(e,t)})}function ti(t){return"_value"in t?t._value:t.value}function ei(t){t.target.composing=!0}function ni(t){t.target.composing&&(t.target.composing=!1,ri(t.target,"input"))}function ri(t,e){var n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0),t.dispatchEvent(n)}function ii(t){return!t.componentInstance||t.data&&t.data.transition?t:ii(t.componentInstance._vnode)}var oi={model:Jr,show:{bind:function(t,e,n){var r=e.value,i=(n=ii(n)).data&&n.data.transition,o=t.__vOriginalDisplay="none"===t.style.display?"":t.style.display;r&&i?(n.data.show=!0,Vr(n,function(){t.style.display=o})):t.style.display=r?o:"none"},update:function(t,e,n){var r=e.value;!r!=!e.oldValue&&((n=ii(n)).data&&n.data.transition?(n.data.show=!0,r?Vr(n,function(){t.style.display=t.__vOriginalDisplay}):zr(n,function(){t.style.display="none"})):t.style.display=r?t.__vOriginalDisplay:"none")},unbind:function(t,e,n,r,i){i||(t.style.display=t.__vOriginalDisplay)}}},ai={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function si(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?si(pe(e.children)):t}function li(t){var e={},n=t.$options;for(var r in n.propsData)e[r]=t[r];var i=n._parentListeners;for(var o in i)e[x(o)]=i[o];return e}function ui(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{props:e.componentOptions.propsData})}var ci={name:"transition",props:ai,abstract:!0,render:function(t){var e=this,n=this.$slots.default;if(n&&(n=n.filter(function(t){return t.tag||fe(t)})).length){0;var r=this.mode;0;var i=n[0];if(function(t){for(;t=t.parent;)if(t.data.transition)return!0}(this.$vnode))return i;var o=si(i);if(!o)return i;if(this._leaving)return ui(t,i);var a="__transition-"+this._uid+"-";o.key=null==o.key?o.isComment?a+"comment":a+o.tag:s(o.key)?0===String(o.key).indexOf(a)?o.key:a+o.key:o.key;var l=(o.data||(o.data={})).transition=li(this),u=this._vnode,c=si(u);if(o.data.directives&&o.data.directives.some(function(t){return"show"===t.name})&&(o.data.show=!0),c&&c.data&&!function(t,e){return e.key===t.key&&e.tag===t.tag}(o,c)&&!fe(c)&&(!c.componentInstance||!c.componentInstance._vnode.isComment)){var f=c.data.transition=S({},l);if("out-in"===r)return this._leaving=!0,ae(f,"afterLeave",function(){e._leaving=!1,e.$forceUpdate()}),ui(t,i);if("in-out"===r){if(fe(o))return u;var p,h=function(){p()};ae(l,"afterEnter",h),ae(l,"enterCancelled",h),ae(f,"delayLeave",function(t){p=t})}}return i}}},fi=S({tag:String,moveClass:String},ai);function pi(t){t.elm._moveCb&&t.elm._moveCb(),t.elm._enterCb&&t.elm._enterCb()}function hi(t){t.data.newPos=t.elm.getBoundingClientRect()}function di(t){var e=t.data.pos,n=t.data.newPos,r=e.left-n.left,i=e.top-n.top;if(r||i){t.data.moved=!0;var o=t.elm.style;o.transform=o.WebkitTransform="translate("+r+"px,"+i+"px)",o.transitionDuration="0s"}}delete fi.mode;var vi={Transition:ci,TransitionGroup:{props:fi,render:function(t){for(var e=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,i=this.$slots.default||[],o=this.children=[],a=li(this),s=0;s-1?Nn[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:Nn[t]=/HTMLUnknownElement/.test(e.toString())},S(fn.options.directives,oi),S(fn.options.components,vi),fn.prototype.__patch__=V?Kr:j,fn.prototype.$mount=function(t,e){return function(t,e,n){return t.$el=e,t.$options.render||(t.$options.render=dt),xe(t,"beforeMount"),new Te(t,function(){t._update(t._render(),n)},j,null,!0),n=!1,null==t.$vnode&&(t._isMounted=!0,xe(t,"mounted")),t}(this,t=t&&V?function(t){if("string"==typeof t){var e=document.querySelector(t);return e||document.createElement("div")}return t}(t):void 0,e)},V&&setTimeout(function(){U.devtools&&nt&&nt.emit("init",fn)},0);var gi=fn; 9 | /** 10 | * vue-router v3.0.1 11 | * (c) 2017 Evan You 12 | * @license MIT 13 | */function mi(t,e){0}function yi(t){return Object.prototype.toString.call(t).indexOf("Error")>-1}var bi={name:"router-view",functional:!0,props:{name:{type:String,default:"default"}},render:function(t,e){var n=e.props,r=e.children,i=e.parent,o=e.data;o.routerView=!0;for(var a=i.$createElement,s=n.name,l=i.$route,u=i._routerViewCache||(i._routerViewCache={}),c=0,f=!1;i&&i._routerRoot!==i;)i.$vnode&&i.$vnode.data.routerView&&c++,i._inactive&&(f=!0),i=i.$parent;if(o.routerViewDepth=c,f)return a(u[s],o,r);var p=l.matched[c];if(!p)return u[s]=null,a();var h=u[s]=p.components[s];o.registerRouteInstance=function(t,e){var n=p.instances[s];(e&&n!==t||!e&&n===t)&&(p.instances[s]=e)},(o.hook||(o.hook={})).prepatch=function(t,e){p.instances[s]=e.componentInstance};var d=o.props=function(t,e){switch(typeof e){case"undefined":return;case"object":return e;case"function":return e(t);case"boolean":return e?t.params:void 0;default:0}}(l,p.props&&p.props[s]);if(d){d=o.props=function(t,e){for(var n in e)t[n]=e[n];return t}({},d);var v=o.attrs=o.attrs||{};for(var g in d)h.props&&g in h.props||(v[g]=d[g],delete d[g])}return a(h,o,r)}};var _i=/[!'()*]/g,wi=function(t){return"%"+t.charCodeAt(0).toString(16)},xi=/%2C/g,Ci=function(t){return encodeURIComponent(t).replace(_i,wi).replace(xi,",")},ki=decodeURIComponent;function $i(t){var e={};return(t=t.trim().replace(/^(\?|#|&)/,""))?(t.split("&").forEach(function(t){var n=t.replace(/\+/g," ").split("="),r=ki(n.shift()),i=n.length>0?ki(n.join("=")):null;void 0===e[r]?e[r]=i:Array.isArray(e[r])?e[r].push(i):e[r]=[e[r],i]}),e):e}function Oi(t){var e=t?Object.keys(t).map(function(e){var n=t[e];if(void 0===n)return"";if(null===n)return Ci(e);if(Array.isArray(n)){var r=[];return n.forEach(function(t){void 0!==t&&(null===t?r.push(Ci(e)):r.push(Ci(e)+"="+Ci(t)))}),r.join("&")}return Ci(e)+"="+Ci(n)}).filter(function(t){return t.length>0}).join("&"):null;return e?"?"+e:""}var Ai=/\/?$/;function Si(t,e,n,r){var i=r&&r.options.stringifyQuery,o=e.query||{};try{o=Ei(o)}catch(t){}var a={name:e.name||t&&t.name,meta:t&&t.meta||{},path:e.path||"/",hash:e.hash||"",query:o,params:e.params||{},fullPath:Ti(e,i),matched:t?function(t){var e=[];for(;t;)e.unshift(t),t=t.parent;return e}(t):[]};return n&&(a.redirectedFrom=Ti(n,i)),Object.freeze(a)}function Ei(t){if(Array.isArray(t))return t.map(Ei);if(t&&"object"==typeof t){var e={};for(var n in t)e[n]=Ei(t[n]);return e}return t}var ji=Si(null,{path:"/"});function Ti(t,e){var n=t.path,r=t.query;void 0===r&&(r={});var i=t.hash;return void 0===i&&(i=""),(n||"/")+(e||Oi)(r)+i}function Li(t,e){return e===ji?t===e:!!e&&(t.path&&e.path?t.path.replace(Ai,"")===e.path.replace(Ai,"")&&t.hash===e.hash&&Pi(t.query,e.query):!(!t.name||!e.name)&&(t.name===e.name&&t.hash===e.hash&&Pi(t.query,e.query)&&Pi(t.params,e.params)))}function Pi(t,e){if(void 0===t&&(t={}),void 0===e&&(e={}),!t||!e)return t===e;var n=Object.keys(t),r=Object.keys(e);return n.length===r.length&&n.every(function(n){var r=t[n],i=e[n];return"object"==typeof r&&"object"==typeof i?Pi(r,i):String(r)===String(i)})}var Ii,Ni=[String,Object],Ri=[String,Array],Mi={name:"router-link",props:{to:{type:Ni,required:!0},tag:{type:String,default:"a"},exact:Boolean,append:Boolean,replace:Boolean,activeClass:String,exactActiveClass:String,event:{type:Ri,default:"click"}},render:function(t){var e=this,n=this.$router,r=this.$route,i=n.resolve(this.to,r,this.append),o=i.location,a=i.route,s=i.href,l={},u=n.options.linkActiveClass,c=n.options.linkExactActiveClass,f=null==u?"router-link-active":u,p=null==c?"router-link-exact-active":c,h=null==this.activeClass?f:this.activeClass,d=null==this.exactActiveClass?p:this.exactActiveClass,v=o.path?Si(null,o,null,n):a;l[d]=Li(r,v),l[h]=this.exact?l[d]:function(t,e){return 0===t.path.replace(Ai,"/").indexOf(e.path.replace(Ai,"/"))&&(!e.hash||t.hash===e.hash)&&function(t,e){for(var n in e)if(!(n in t))return!1;return!0}(t.query,e.query)}(r,v);var g=function(t){Di(t)&&(e.replace?n.replace(o):n.push(o))},m={click:Di};Array.isArray(this.event)?this.event.forEach(function(t){m[t]=g}):m[this.event]=g;var y={class:l};if("a"===this.tag)y.on=m,y.attrs={href:s};else{var b=function t(e){if(e)for(var n,r=0;r=0&&(e=t.slice(r),t=t.slice(0,r));var i=t.indexOf("?");return i>=0&&(n=t.slice(i+1),t=t.slice(0,i)),{path:t,query:n,hash:e}}(i.path||""),l=e&&e.path||"/",u=s.path?qi(s.path,l,n||i.append):l,c=function(t,e,n){void 0===e&&(e={});var r,i=n||$i;try{r=i(t||"")}catch(t){r={}}for(var o in e)r[o]=e[o];return r}(s.query,i.query,r&&r.options.parseQuery),f=i.hash||s.hash;return f&&"#"!==f.charAt(0)&&(f="#"+f),{_normalized:!0,path:u,query:c,hash:f}}function uo(t,e){for(var n in e)t[n]=e[n];return t}function co(t,e){var n=so(t),r=n.pathList,i=n.pathMap,o=n.nameMap;function a(t,n,a){var s=lo(t,n,!1,e),u=s.name;if(u){var c=o[u];if(!c)return l(null,s);var f=c.regex.keys.filter(function(t){return!t.optional}).map(function(t){return t.name});if("object"!=typeof s.params&&(s.params={}),n&&"object"==typeof n.params)for(var p in n.params)!(p in s.params)&&f.indexOf(p)>-1&&(s.params[p]=n.params[p]);if(c)return s.path=ao(c.path,s.params),l(c,s,a)}else if(s.path){s.params={};for(var h=0;h=t.length?n():t[i]?e(t[i],function(){r(i+1)}):r(i+1)};r(0)}function jo(t){return function(e,n,r){var i=!1,o=0,a=null;To(t,function(t,e,n,s){if("function"==typeof t&&void 0===t.cid){i=!0,o++;var l,u=Io(function(e){var i;((i=e).__esModule||Po&&"Module"===i[Symbol.toStringTag])&&(e=e.default),t.resolved="function"==typeof e?e:Ii.extend(e),n.components[s]=e,--o<=0&&r()}),c=Io(function(t){var e="Failed to resolve async component "+s+": "+t;a||(a=yi(t)?t:new Error(e),r(a))});try{l=t(u,c)}catch(t){c(t)}if(l)if("function"==typeof l.then)l.then(u,c);else{var f=l.component;f&&"function"==typeof f.then&&f.then(u,c)}}}),i||r()}}function To(t,e){return Lo(t.map(function(t){return Object.keys(t.components).map(function(n){return e(t.components[n],t.instances[n],t,n)})}))}function Lo(t){return Array.prototype.concat.apply([],t)}var Po="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag;function Io(t){var e=!1;return function(){for(var n=[],r=arguments.length;r--;)n[r]=arguments[r];if(!e)return e=!0,t.apply(this,n)}}var No=function(t,e){this.router=t,this.base=function(t){if(!t)if(Bi){var e=document.querySelector("base");t=(t=e&&e.getAttribute("href")||"/").replace(/^https?:\/\/[^\/]+/,"")}else t="/";"/"!==t.charAt(0)&&(t="/"+t);return t.replace(/\/$/,"")}(e),this.current=ji,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[]};function Ro(t,e,n,r){var i=To(t,function(t,r,i,o){var a=function(t,e){"function"!=typeof t&&(t=Ii.extend(t));return t.options[e]}(t,e);if(a)return Array.isArray(a)?a.map(function(t){return n(t,r,i,o)}):n(a,r,i,o)});return Lo(r?i.reverse():i)}function Mo(t,e){if(e)return function(){return t.apply(e,arguments)}}No.prototype.listen=function(t){this.cb=t},No.prototype.onReady=function(t,e){this.ready?t():(this.readyCbs.push(t),e&&this.readyErrorCbs.push(e))},No.prototype.onError=function(t){this.errorCbs.push(t)},No.prototype.transitionTo=function(t,e,n){var r=this,i=this.router.match(t,this.current);this.confirmTransition(i,function(){r.updateRoute(i),e&&e(i),r.ensureURL(),r.ready||(r.ready=!0,r.readyCbs.forEach(function(t){t(i)}))},function(t){n&&n(t),t&&!r.ready&&(r.ready=!0,r.readyErrorCbs.forEach(function(e){e(t)}))})},No.prototype.confirmTransition=function(t,e,n){var r=this,i=this.current,o=function(t){yi(t)&&(r.errorCbs.length?r.errorCbs.forEach(function(e){e(t)}):(mi(),console.error(t))),n&&n(t)};if(Li(t,i)&&t.matched.length===i.matched.length)return this.ensureURL(),o();var a=function(t,e){var n,r=Math.max(t.length,e.length);for(n=0;n=0?e.slice(0,n):e)+"#"+t}function Vo(t){xo?Ao(Fo(t)):window.location.hash=t}function zo(t){xo?So(Fo(t)):window.location.replace(Fo(t))}var Wo=function(t){function e(e,n){t.call(this,e,n),this.stack=[],this.index=-1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.push=function(t,e,n){var r=this;this.transitionTo(t,function(t){r.stack=r.stack.slice(0,r.index+1).concat(t),r.index++,e&&e(t)},n)},e.prototype.replace=function(t,e,n){var r=this;this.transitionTo(t,function(t){r.stack=r.stack.slice(0,r.index).concat(t),e&&e(t)},n)},e.prototype.go=function(t){var e=this,n=this.index+t;if(!(n<0||n>=this.stack.length)){var r=this.stack[n];this.confirmTransition(r,function(){e.index=n,e.updateRoute(r)})}},e.prototype.getCurrentLocation=function(){var t=this.stack[this.stack.length-1];return t?t.fullPath:"/"},e.prototype.ensureURL=function(){},e}(No),Go=function(t){void 0===t&&(t={}),this.app=null,this.apps=[],this.options=t,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=co(t.routes||[],this);var e=t.mode||"hash";switch(this.fallback="history"===e&&!xo&&!1!==t.fallback,this.fallback&&(e="hash"),Bi||(e="abstract"),this.mode=e,e){case"history":this.history=new Do(this,t.base);break;case"hash":this.history=new Bo(this,t.base,this.fallback);break;case"abstract":this.history=new Wo(this,t.base);break;default:0}},Xo={currentRoute:{configurable:!0}};function Ko(t,e){return t.push(e),function(){var n=t.indexOf(e);n>-1&&t.splice(n,1)}}Go.prototype.match=function(t,e,n){return this.matcher.match(t,e,n)},Xo.currentRoute.get=function(){return this.history&&this.history.current},Go.prototype.init=function(t){var e=this;if(this.apps.push(t),!this.app){this.app=t;var n=this.history;if(n instanceof Do)n.transitionTo(n.getCurrentLocation());else if(n instanceof Bo){var r=function(){n.setupListeners()};n.transitionTo(n.getCurrentLocation(),r,r)}n.listen(function(t){e.apps.forEach(function(e){e._route=t})})}},Go.prototype.beforeEach=function(t){return Ko(this.beforeHooks,t)},Go.prototype.beforeResolve=function(t){return Ko(this.resolveHooks,t)},Go.prototype.afterEach=function(t){return Ko(this.afterHooks,t)},Go.prototype.onReady=function(t,e){this.history.onReady(t,e)},Go.prototype.onError=function(t){this.history.onError(t)},Go.prototype.push=function(t,e,n){this.history.push(t,e,n)},Go.prototype.replace=function(t,e,n){this.history.replace(t,e,n)},Go.prototype.go=function(t){this.history.go(t)},Go.prototype.back=function(){this.go(-1)},Go.prototype.forward=function(){this.go(1)},Go.prototype.getMatchedComponents=function(t){var e=t?t.matched?t:this.resolve(t).route:this.currentRoute;return e?[].concat.apply([],e.matched.map(function(t){return Object.keys(t.components).map(function(e){return t.components[e]})})):[]},Go.prototype.resolve=function(t,e,n){var r=lo(t,e||this.history.current,n,this),i=this.match(r,e),o=i.redirectedFrom||i.fullPath;return{location:r,route:i,href:function(t,e,n){var r="hash"===n?"#"+e:e;return t?Hi(t+"/"+r):r}(this.history.base,o,this.mode),normalizedTo:r,resolved:i}},Go.prototype.addRoutes=function(t){this.matcher.addRoutes(t),this.history.current!==ji&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(Go.prototype,Xo),Go.install=Ui,Go.version="3.0.1",Bi&&window.Vue&&window.Vue.use(Go);var Jo=Go;function Yo(t){return"/"===t.charAt(t.length-1)?"page"+t.replace(/\//g,"-")+"index":"page"+t.replace(/\//g,"-").replace(/\.html$/,"")}var Qo={functional:!0,props:{custom:{type:Boolean,default:!0}},render:function(t,e){var n=e.parent,r=e.props;return t(Yo(n.$page.path),{class:r.custom?"custom":""})}},Zo={title:"Nodejs-Tutorial",description:"Nodejs 中文基础教程",base:"/",pages:[{path:"/",title:"基本教程",headers:[{level:2,title:"前言",slug:"前言"},{level:3,title:"谁适合阅读本教程?",slug:"谁适合阅读本教程?"},{level:3,title:"学习本教程前你需要了解",slug:"学习本教程前你需要了解"},{level:3,title:"使用的版本",slug:"使用的版本"},{level:2,title:"第一个程序:Hello World!",slug:"第一个程序:hello-world!"},{level:3,title:"脚本模式",slug:"脚本模式"},{level:3,title:"交互模式",slug:"交互模式"},{level:3,title:"Gif 实例演示",slug:"gif-实例演示"},{level:2,title:"创建第一个应用",slug:"创建第一个应用"},{level:3,title:"创建应用",slug:"创建应用"},{level:3,title:"Gif 实例演示",slug:"gif-实例演示-2"},{level:2,title:"NPM 使用介绍",slug:"npm-使用介绍"},{level:3,title:"使用 npm 命令安装模块",slug:"使用-npm-命令安装模块"},{level:3,title:"全局安装与本地安装",slug:"全局安装与本地安装"},{level:3,title:"使用 package.json",slug:"使用-package-json"},{level:3,title:"卸载模块",slug:"卸载模块"},{level:3,title:"更新模块",slug:"更新模块"},{level:3,title:"搜索模块",slug:"搜索模块"},{level:3,title:"创建模块",slug:"创建模块"},{level:3,title:"版本号",slug:"版本号"},{level:3,title:"NPM 常用命令",slug:"npm-常用命令"},{level:3,title:"使用淘宝 NPM 镜像",slug:"使用淘宝-npm-镜像"},{level:2,title:"REPL(交互式解释器)",slug:"repl-交互式解释器"},{level:3,title:"简单的表达式运算",slug:"简单的表达式运算"},{level:3,title:"使用变量",slug:"使用变量"},{level:3,title:"多行表达式",slug:"多行表达式"},{level:3,title:"下划线(_)变量",slug:"下划线-变量"},{level:3,title:"REPL 命令",slug:"repl-命令"},{level:3,title:"停止 REPL",slug:"停止-repl"},{level:3,title:"Gif 实例演示",slug:"gif-实例演示-3"},{level:2,title:"回调函数",slug:"回调函数"},{level:3,title:"阻塞代码实例",slug:"阻塞代码实例"},{level:3,title:"非阻塞代码实例",slug:"非阻塞代码实例"},{level:2,title:"事件循环",slug:"事件循环"},{level:3,title:"事件驱动程序",slug:"事件驱动程序"},{level:3,title:"Node 应用程序是如何工作的?",slug:"node-应用程序是如何工作的?"},{level:2,title:"EventEmitter",slug:"eventemitter"},{level:3,title:"EventEmitter 类",slug:"eventemitter-类"},{level:3,title:"error 事件",slug:"error-事件"},{level:3,title:"继承 EventEmitter",slug:"继承-eventemitter"},{level:2,title:"Buffer(缓冲区)",slug:"buffer-缓冲区"},{level:3,title:"创建 Buffer 类",slug:"创建-buffer-类"},{level:3,title:"写入缓冲区",slug:"写入缓冲区"},{level:3,title:"从缓冲区读取数据",slug:"从缓冲区读取数据"},{level:3,title:"将 Buffer 转换为 JSON 对象",slug:"将-buffer-转换为-json-对象"},{level:3,title:"缓冲区合并",slug:"缓冲区合并"},{level:3,title:"缓冲区比较",slug:"缓冲区比较"},{level:3,title:"拷贝缓冲区",slug:"拷贝缓冲区"},{level:3,title:"缓冲区裁剪",slug:"缓冲区裁剪"},{level:3,title:"缓冲区长度",slug:"缓冲区长度"},{level:3,title:"方法参考手册",slug:"方法参考手册"},{level:2,title:"Stream(流)",slug:"stream-流"},{level:3,title:"从流中读取数据",slug:"从流中读取数据"},{level:3,title:"写入流",slug:"写入流"},{level:3,title:"管道流",slug:"管道流"},{level:3,title:"链式流",slug:"链式流"},{level:2,title:"模块系统",slug:"模块系统"},{level:3,title:"创建模块",slug:"创建模块-2"},{level:3,title:"服务端的模块放在哪里",slug:"服务端的模块放在哪里"},{level:2,title:"函数",slug:"函数"},{level:3,title:"匿名函数",slug:"匿名函数"},{level:3,title:"函数传递是如何让HTTP服务器工作的",slug:"函数传递是如何让http服务器工作的"},{level:2,title:"路由",slug:"路由"},{level:2,title:"全局对象",slug:"全局对象"},{level:3,title:"全局对象与全局变量",slug:"全局对象与全局变量"},{level:3,title:"__filename",slug:"filename"},{level:3,title:"__dirname",slug:"dirname"},{level:3,title:"setTimeout(cb, ms)",slug:"settimeout-cb-ms"},{level:3,title:"clearTimeout(t)",slug:"cleartimeout-t"},{level:3,title:"setInterval(cb, ms)",slug:"setinterval-cb-ms"},{level:3,title:"console",slug:"console"},{level:3,title:"process",slug:"process"},{level:3,title:"Process 属性",slug:"process-属性"},{level:3,title:"方法参考手册",slug:"方法参考手册-2"},{level:2,title:"常用工具",slug:"常用工具"},{level:3,title:"util.inherits",slug:"util-inherits"},{level:3,title:"util.inspect",slug:"util-inspect"},{level:3,title:"util.isArray(object)",slug:"util-isarray-object"},{level:3,title:"util.isRegExp(object)",slug:"util-isregexp-object"},{level:3,title:"util.isDate(object)",slug:"util-isdate-object"},{level:3,title:"util.isError(object)",slug:"util-iserror-object"},{level:2,title:"文件系统",slug:"文件系统"},{level:3,title:"异步和同步",slug:"异步和同步"},{level:3,title:"打开文件",slug:"打开文件"},{level:3,title:"获取文件信息",slug:"获取文件信息"},{level:3,title:"写入文件",slug:"写入文件"},{level:3,title:"读取文件",slug:"读取文件"},{level:3,title:"关闭文件",slug:"关闭文件"},{level:3,title:"截取文件",slug:"截取文件"},{level:3,title:"删除文件",slug:"删除文件"},{level:3,title:"创建目录",slug:"创建目录"},{level:3,title:"读取目录",slug:"读取目录"},{level:3,title:"删除目录",slug:"删除目录"},{level:3,title:"文件模块方法参考手册",slug:"文件模块方法参考手册"},{level:2,title:"GET/POST请求",slug:"get-post请求"},{level:3,title:"获取GET请求内容",slug:"获取get请求内容"},{level:3,title:"获取POST请求内容",slug:"获取post请求内容"},{level:2,title:"工具模块",slug:"工具模块"},{level:3,title:"OS 模块",slug:"os-模块"},{level:3,title:"Path 模块",slug:"path-模块"},{level:3,title:"Net 模块",slug:"net-模块"},{level:3,title:"DNS 模块",slug:"dns-模块"},{level:3,title:"Domain 模块",slug:"domain-模块"},{level:2,title:"Web 模块",slug:"web-模块"},{level:3,title:"什么是 Web 服务器?",slug:"什么是-web-服务器?"},{level:3,title:"Web 应用架构",slug:"web-应用架构"},{level:3,title:"使用 Node 创建 Web 服务器",slug:"使用-node-创建-web-服务器"},{level:3,title:"Gif 实例演示",slug:"gif-实例演示-5"},{level:2,title:"Express 框架",slug:"express-框架"},{level:3,title:"Express 简介",slug:"express-简介"},{level:3,title:"安装 Express",slug:"安装-express"},{level:3,title:"第一个 Express 框架实例",slug:"第一个-express-框架实例"},{level:3,title:"请求和响应",slug:"请求和响应"},{level:3,title:"路由",slug:"路由-2"},{level:3,title:"静态文件",slug:"静态文件"},{level:3,title:"GET 方法",slug:"get-方法"},{level:3,title:"POST 方法",slug:"post-方法"},{level:3,title:"文件上传",slug:"文件上传"},{level:3,title:"Cookie 管理",slug:"cookie-管理"},{level:3,title:"相关资料",slug:"相关资料"},{level:2,title:"RESTful API",slug:"restful-api"},{level:3,title:"什么是 REST?",slug:"什么是-rest?"},{level:3,title:"RESTful Web Services",slug:"restful-web-services"},{level:3,title:"创建 RESTful",slug:"创建-restful"},{level:2,title:"多进程",slug:"多进程"},{level:3,title:"exec() 方法",slug:"exec-方法"},{level:3,title:"spawn() 方法",slug:"spawn-方法"},{level:3,title:"fork 方法",slug:"fork-方法"},{level:2,title:"JXcore 打包",slug:"jxcore-打包"},{level:3,title:"JXcore 安装",slug:"jxcore-安装"},{level:3,title:"包代码",slug:"包代码"},{level:3,title:"载入 JX 文件",slug:"载入-jx-文件"}],frontmatter:{sidebar:"auto",sidebarDepth:2}},{path:"/about/"},{path:"/ins-con/",title:"安装配置",headers:[{level:2,title:"Window 上安装",slug:"window-上安装"},{level:3,title:"1、Windows 安装包(.msi)",slug:"_1、windows-安装包-msi"},{level:3,title:"2、Windows 二进制文件 (.exe)安装",slug:"_2、windows-二进制文件-exe-安装"},{level:2,title:"Ubuntu 上安装",slug:"ubuntu-上安装"},{level:3,title:"源码安装",slug:"源码安装"},{level:3,title:"Ubuntu apt-get命令安装",slug:"ubuntu-apt-get命令安装"},{level:2,title:"CentOS 下安装",slug:"centos-下安装"}],frontmatter:{sidebar:"auto"}}],themeConfig:{repo:"JakeLaoyu/Nodejs-tutorial",editLinks:!0,editLinkText:"帮助改善此页面!",docsDir:"docs",nav:[{text:"主页",link:"/"},{text:"安装配置",link:"/ins-con/"},{text:"关于",link:"/about/"}]}};!function(t){t.pages.forEach(function(t){t.frontmatter||(t.frontmatter={})}),t.locales&&Object.keys(t.locales).forEach(function(e){t.locales[e].path=e}),Object.freeze(t)}(Zo);var ta=new gi({data:{siteData:Zo}});var ea={computed:{$site:function(){return ta.siteData},$localeConfig:function(){var t,e,n=this.$site.locales;for(var r in void 0===n&&(n={}),n)"/"===r?e=n[r]:0===this.$page.path.indexOf(r)&&(t=n[r]);return t||e||{}},$siteTitle:function(){return this.$localeConfig.title||this.$site.title||""},$title:function(){var t=this.$page,e=this.$siteTitle,n=t.frontmatter.home?null:t.frontmatter.title||t.title;return e?n?e+" | "+n:e:n||"VuePress"},$description:function(){return this.$page.frontmatter.description||this.$localeConfig.description||this.$site.description||""},$lang:function(){return this.$page.frontmatter.lang||this.$localeConfig.lang||"en-US"},$localePath:function(){return this.$localeConfig.path||"/"},$themeLocaleConfig:function(){return(this.$site.themeConfig.locales||{})[this.$localePath]||{}},$page:function(){return function(t,e){for(var n=0;n-1},a=[],s=0;s=r);s++){var l=n[s];if(this.getPageLocalePath(l)===i)if(o(l))a.push(l);else if(l.headers)for(var u=0;u=r);u++){var c=l.headers[u];o(c)&&a.push(Object.assign({},l,{path:l.path+"#"+c.slug,header:c}))}}return a}},alignRight:function(){return(this.$site.themeConfig.nav||[]).length+(this.$site.repo?1:0)<=2}},methods:{getPageLocalePath:function(t){for(var e in this.$site.locales||{})if("/"!==e&&0===t.path.indexOf(e))return e;return"/"},onUp:function(){this.showSuggestions&&(this.focusIndex>0?this.focusIndex--:this.focusIndex=this.suggestions.length-1)},onDown:function(){this.showSuggestions&&(this.focusIndex "+t._s(e.header.title))]):t._e()])])})):t._e()])},[],!1,null,null,null).exports),ja=(n(39),Object(ia.a)({},function(t,e){var n=e._c;return n("svg",{staticClass:"icon outbound",attrs:{xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",x:"0px",y:"0px",viewBox:"0 0 100 100",width:"15",height:"15"}},[n("path",{attrs:{fill:"currentColor",d:"M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"}}),n("polygon",{attrs:{fill:"currentColor",points:"45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"}})])},[],!0,null,null,null).exports),Ta={name:"SidebarGroup",methods:{setHeight:function(t){t.style.height=t.scrollHeight+"px"},unsetHeight:function(t){t.style.height=""}}},La=(n(37),Object(ia.a)(Ta,function(){var t=this.$createElement;return(this._self._c||t)("transition",{attrs:{name:"dropdown"},on:{enter:this.setHeight,"after-enter":this.unsetHeight,"before-leave":this.setHeight}},[this._t("default")],2)},[],!1,null,null,null).exports),Pa={components:{NavLink:xa,DropdownTransition:La},data:function(){return{open:!1}},props:{item:{required:!0}},methods:{toggle:function(){this.open=!this.open}}},Ia=(n(35),{components:{OutboundLink:ja,NavLink:xa,DropdownLink:Object(ia.a)(Pa,function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"dropdown-wrapper",class:{open:t.open}},[n("a",{staticClass:"dropdown-title",on:{click:t.toggle}},[n("span",{staticClass:"title"},[t._v(t._s(t.item.text))]),n("span",{staticClass:"arrow",class:t.open?"down":"right"})]),n("DropdownTransition",[n("ul",{directives:[{name:"show",rawName:"v-show",value:t.open,expression:"open"}],staticClass:"nav-dropdown"},t._l(t.item.items,function(e){return n("li",{key:e.link,staticClass:"dropdown-item"},["links"===e.type?n("h4",[t._v(t._s(e.text))]):t._e(),"links"===e.type?n("ul",{staticClass:"dropdown-subitem-wrapper"},t._l(e.items,function(t){return n("li",{key:t.link,staticClass:"dropdown-subitem"},[n("NavLink",{attrs:{item:t}})],1)})):n("NavLink",{attrs:{item:e}})],1)}))])],1)},[],!1,null,null,null).exports},computed:{userNav:function(){return this.$themeLocaleConfig.nav||this.$site.themeConfig.nav||[]},nav:function(){var t=this,e=this.$site.locales;if(e&&Object.keys(e).length>1){var n=this.$page.path,r=this.$router.options.routes,i=this.$site.themeConfig.locales||{},o={text:this.$themeLocaleConfig.selectText||"Languages",items:Object.keys(e).map(function(o){var a,s=e[o],l=i[o]&&i[o].label||s.lang;return s.lang===t.$lang?a=n:(a=n.replace(t.$localeConfig.path,o),r.some(function(t){return t.path===a})||(a=o)),{text:l,link:a}})};return this.userNav.concat([o])}return this.userNav},userLinks:function(){return(this.nav||[]).map(function(t){return Object.assign(_a(t),{items:(t.items||[]).map(_a)})})},repoLink:function(){var t=this.$site.themeConfig.repo;if(t)return/^https?:/.test(t)?t:"https://github.com/"+t},repoLabel:function(){if(this.repoLink){if(this.$site.themeConfig.repoLabel)return this.$site.themeConfig.repoLabel;for(var t=this.repoLink.match(/^https?:\/\/[^/]+/)[0],e=["GitHub","GitLab","Bitbucket"],n=0;ni?null:t("ul",{class:"sidebar-sub-headers"},e.map(function(e){var a=va(r,n+"#"+e.slug);return t("li",{class:"sidebar-sub-header"},[qa(t,"#"+e.slug,e.title,a),Ha(t,e.children,n,r,i,o+1)])}))}var Fa={functional:!0,props:["item"],render:function(t,e){var n=e.parent,r=n.$page,i=n.$site,o=n.$route,a=e.props.item,s=va(o,a.path),l="auto"===a.type?s||a.children.some(function(t){return va(o,a.basePath+"#"+t.slug)}):s,u=qa(t,a.path,a.title||a.path,l),c=null!=r.frontmatter.sidebarDepth?r.frontmatter.sidebarDepth:i.themeConfig.sidebarDepth,f=null==c?1:c;return"auto"===a.type?[u,Ha(t,a.children,a.basePath,o,f)]:l&&a.headers&&!la.test(a.path)?[u,Ha(t,ba(a.headers),a.path,o,f)]:u}},Va=(n(27),Object(ia.a)(Fa,void 0,void 0,!1,null,null,null).exports),za={name:"SidebarGroup",props:["item","first","open","collapsable"],components:{SidebarLink:Va,DropdownTransition:La}};n(25);var Wa={components:{SidebarGroup:Object(ia.a)(za,function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"sidebar-group",class:{first:t.first,collapsable:t.collapsable}},[n("p",{staticClass:"sidebar-heading",class:{open:t.open},on:{click:function(e){t.$emit("toggle")}}},[n("span",[t._v(t._s(t.item.title))]),t.collapsable?n("span",{staticClass:"arrow",class:t.open?"down":"right"}):t._e()]),n("DropdownTransition",[t.open||!t.collapsable?n("ul",{ref:"items",staticClass:"sidebar-group-items"},t._l(t.item.children,function(t){return n("li",[n("SidebarLink",{attrs:{item:t}})],1)})):t._e()])],1)},[],!1,null,null,null).exports,SidebarLink:Va,NavLinks:Na},props:["items"],data:function(){return{openGroupIndex:0}},created:function(){this.refreshIndex()},watch:{$route:function(){this.refreshIndex()}},methods:{refreshIndex:function(){var t=function(t,e){for(var n=0;n-1&&(this.openGroupIndex=t)},toggleGroup:function(t){this.openGroupIndex=t===this.openGroupIndex?-1:t},isActive:function(t){return va(this.$route,t.path)}}};n(23);function Ga(t,e){if(e&&e.forEach(function(t){document.head.removeChild(t)}),t)return t.map(function(t){var e=document.createElement("meta");return Object.keys(t).forEach(function(n){e.setAttribute(n,t[n])}),document.head.appendChild(e),e})}var Xa={components:{Home:ka,Page:Ba,Sidebar:Object(ia.a)(Wa,function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"sidebar"},[n("NavLinks"),t._t("top"),t.items.length?n("ul",{staticClass:"sidebar-links"},t._l(t.items,function(e,r){return n("li",["group"===e.type?n("SidebarGroup",{attrs:{item:e,first:0===r,open:r===t.openGroupIndex,collapsable:e.collapsable},on:{toggle:function(e){t.toggleGroup(r)}}}):n("SidebarLink",{attrs:{item:e}})],1)})):t._e(),t._t("bottom")],2)},[],!1,null,null,null).exports,Navbar:Ma},data:function(){return{isSidebarOpen:!1}},computed:{shouldShowNavbar:function(){var t=this.$site.themeConfig;return!1!==this.$page.frontmatter.navbar&&(this.$title||t.logo||t.repo||t.nav||this.$themeLocaleConfig.nav)},shouldShowSidebar:function(){this.$site.themeConfig;var t=this.$page.frontmatter;return!t.layout&&!t.home&&!1!==t.sidebar&&this.sidebarItems.length},sidebarItems:function(){return ya(this.$page,this.$route,this.$site,this.$localePath)},pageClasses:function(){var t=this.$page.frontmatter.pageClass;return[{"no-navbar":!this.shouldShowNavbar,"sidebar-open":this.isSidebarOpen,"no-sidebar":!this.shouldShowSidebar},t]}},created:function(){this.$ssrContext&&(this.$ssrContext.title=this.$title,this.$ssrContext.lang=this.$lang,this.$ssrContext.description=this.$page.description||this.$description)},mounted:function(){var t=this;this.currentMetaTags=[];var e=function(){document.title=t.$title,document.documentElement.lang=t.$lang;var e=[{name:"description",content:t.$description}].concat(t.$page.frontmatter.meta||[]);t.currentMetaTags=Ga(e,t.currentMetaTags)};this.$watch("$page",e),e(),sa.a.configure({showSpinner:!1}),this.$router.beforeEach(function(t,e,n){t.path===e.path||gi.component(Yo(t.path))||sa.a.start(),n()}),this.$router.afterEach(function(){sa.a.done(),t.isSidebarOpen=!1})},beforeDestroy:function(){Ga(null,this.currentMetaTags)},methods:{toggleSidebar:function(t){this.isSidebarOpen="boolean"==typeof t?t:!this.isSidebarOpen},onTouchStart:function(t){this.touchStart={x:t.changedTouches[0].clientX,y:t.changedTouches[0].clientY}},onTouchEnd:function(t){var e=t.changedTouches[0].clientX-this.touchStart.x,n=t.changedTouches[0].clientY-this.touchStart.y;Math.abs(e)>Math.abs(n)&&Math.abs(e)>40&&(e>0&&this.touchStart.x<=80?this.toggleSidebar(!0):this.toggleSidebar(!1))}}},Ka=(n(21),n(19),Object(ia.a)(Xa,function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"theme-container",class:t.pageClasses,on:{touchstart:t.onTouchStart,touchend:t.onTouchEnd}},[t.shouldShowNavbar?n("Navbar",{on:{"toggle-sidebar":t.toggleSidebar}}):t._e(),n("div",{staticClass:"sidebar-mask",on:{click:function(e){t.toggleSidebar(!1)}}}),n("Sidebar",{attrs:{items:t.sidebarItems},on:{"toggle-sidebar":t.toggleSidebar}},[t._t("sidebar-top",null,{slot:"top"}),t._t("sidebar-bottom",null,{slot:"bottom"})],2),t.$page.frontmatter.layout?n("div",{staticClass:"custom-layout"},[n(t.$page.frontmatter.layout,{tag:"component"})],1):t.$page.frontmatter.home?n("Home"):n("Page",{attrs:{"sidebar-items":t.sidebarItems}},[t._t("page-top",null,{slot:"top"}),t._t("page-bottom",null,{slot:"bottom"})],2)],1)},[],!1,null,null,null).exports),Ja=[{path:"/",component:Ka,beforeEnter:function(t,e,r){n.e(2).then(n.bind(null,50)).then(function(t){gi.component("page-index",t.default),r()})}},{path:"/index.html",redirect:"/"},{path:"/about/",component:Ka,beforeEnter:function(t,e,r){n.e(1).then(n.bind(null,52)).then(function(t){gi.component("page-about-index",t.default),r()})}},{path:"/about/index.html",redirect:"/about/"},{path:"/ins-con/",component:Ka,beforeEnter:function(t,e,r){n.e(0).then(n.bind(null,51)).then(function(t){gi.component("page-ins-con-index",t.default),r()})}},{path:"/ins-con/index.html",redirect:"/ins-con/"}],Ya=function(){},Qa=function(){};gi.config.productionTip=!1,gi.use(Jo),gi.mixin(ea),gi.component("Content",Qo),gi.component("ClientOnly",{functional:!0,render:function(t,e){var n=e.parent,r=e.children;if(n._isMounted)return r;n.$once("hook:mounted",function(){n.$forceUpdate()})}}),gi.prototype.$withBase=function(t){var e=this.$site.base;return"/"===t.charAt(0)?e+t.slice(1):t},Ja.push({path:"*",component:oa});var Za,ts,es,ns,rs,is,os=function(){var t=new Jo({base:Zo.base,mode:"history",fallback:!1,routes:Ja,scrollBehavior:function(t,e,n){return n||(t.hash?{selector:t.hash}:{x:0,y:0})}});t.beforeEach(function(t,e,n){/(\/|\.html)$/.test(t.path)?n():n(Object.assign({},t,{path:t.path+"/"}))});var e={};return Qa({Vue:gi,options:e,router:t,siteData:Zo}),Ya({Vue:gi,options:e,router:t,siteData:Zo}),{app:new gi(Object.assign(e,{router:t,render:function(t){return t("div",{attrs:{id:"app"}},[t("router-view",{ref:"layout"})])}})),router:t}}(),as=os.app,ss=os.router;Za=window,ts=document,es="script",ns="ga",Za.GoogleAnalyticsObject=ns,Za.ga=Za.ga||function(){(Za.ga.q=Za.ga.q||[]).push(arguments)},Za.ga.l=1*new Date,rs=ts.createElement(es),is=ts.getElementsByTagName(es)[0],rs.async=1,rs.src="https://www.google-analytics.com/analytics.js",is.parentNode.insertBefore(rs,is),ga("create","UA-87261065-4","auto"),ga("send","pageview"),ss.afterEach(function(t){ga("set","page",t.fullPath),ga("send","pageview")}),ss.onReady(function(){as.$mount("#app")})},,function(t,e,n){"use strict";var r=n(1);n.n(r).a},,function(t,e,n){"use strict";var r=n(2);n.n(r).a},,function(t,e,n){"use strict";var r=n(3);n.n(r).a},,function(t,e,n){"use strict";var r=n(4);n.n(r).a},,function(t,e,n){"use strict";var r=n(5);n.n(r).a},,function(t,e,n){"use strict";var r=n(6);n.n(r).a},,function(t,e,n){"use strict";var r=n(7);n.n(r).a},,function(t,e,n){"use strict";var r=n(8);n.n(r).a},,function(t,e,n){"use strict";var r=n(9);n.n(r).a},,function(t,e,n){"use strict";var r=n(10);n.n(r).a},,function(t,e,n){"use strict";var r=n(11);n.n(r).a},,function(t,e,n){"use strict";var r=n(12);n.n(r).a},,function(t,e,n){"use strict";var r=n(13);n.n(r).a},,function(t,e,n){"use strict";var r=n(14);n.n(r).a},function(t,e,n){"use strict"; 14 | /* 15 | object-assign 16 | (c) Sindre Sorhus 17 | @license MIT 18 | */var r=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable;t.exports=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},n=0;n<10;n++)e["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(e).map(function(t){return e[t]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(t){r[t]=t}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(t){return!1}}()?Object.assign:function(t,e){for(var n,a,s=function(t){if(null===t||void 0===t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}(t),l=1;l