博客列表 >學習nodejs

學習nodejs

幸运儿的博客
幸运儿的博客原创
2017年08月15日 11:17:391572浏览

<!DOCTYPE html>    

<html lang="en">    

<head>    

<meta charset="utf-8">    

<link rel="dns-prefetch" href="https://assets-cdn.github.com">    

<link rel="dns-prefetch" href="https://avatars0.githubusercontent.com">    

<link rel="dns-prefetch" href="https://avatars1.githubusercontent.com">    

<link rel="dns-prefetch" href="https://avatars2.githubusercontent.com">    

<link rel="dns-prefetch" href="https://avatars3.githubusercontent.com">    

<link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com">    

<link rel="dns-prefetch" href="https://user-images.githubusercontent.com/">    

<link crossorigin="anonymous" href="https://assets-cdn.github.com/assets/frameworks-77c3b874f32e71b14cded5a120f42f5c7288fa52e0a37f2d5919fbd8bcfca63c.css" integrity="sha256-d8O4dPMucbFM3tWhIPQvXHKI+lLgo38tWRn72Lz8pjw=" media="all" rel="stylesheet" />    

<link crossorigin="anonymous" href="https://assets-cdn.github.com/assets/github-68923e58eaacf64b4af271e01e5c657997f95533fd4a7e5be4b2ed7e23158a03.css" integrity="sha256-aJI+WOqs9ktK8nHgHlxleZf5VTP9Sn5b5LLtfiMVigM=" media="all" rel="stylesheet" />    

<link crossorigin="anonymous" href="https://assets-cdn.github.com/assets/site-65aadd1762fe5f6e44708ac1c774a84be59a802f7109155de047e4f3c9f1202a.css" integrity="sha256-ZardF2L+X25EcIrBx3SoS+WagC9xCRVd4Efk88nxICo=" media="all" rel="stylesheet" />    

<meta name="viewport" content="width=device-width">    

<title>GitHub - nswbmw/N-blog: 一起学 Node.js</title>    

<link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub">    

<link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub">    

<meta property="fb:app_id" content="1401488693436528">    

<meta content="https://avatars0.githubusercontent.com/u/4279697?v=4&amp;s=400" property="og:image" /><meta content="GitHub" property="og:site_name" /><meta content="object" property="og:type" /><meta content="nswbmw/N-blog" property="og:title" /><meta content="https://github.com/nswbmw/N-blog" property="og:url" /><meta content="N-blog - 一起学 Node.js" property="og:description" />    

<link rel="assets" href="https://assets-cdn.github.com/">    

<meta name="pjax-timeout" content="1000">    

<meta name="request-id" content="3003:C20E:23980C7:36E3084:599262B2" data-pjax-transient>    

<meta name="selected-link" value="repo_source" data-pjax-transient>    

<meta name="google-site-verification" content="KT5gs8h0wvaagLKAVWq8bbeNwnZZK1r1XQysX3xurLU">    

<meta name="google-site-verification" content="ZzhVyEFwb7w3e0-uOTltm8Jsck2F5StVihD0exw2fsA">    

<meta name="google-analytics" content="UA-3769691-2">    

<meta content="collector.githubapp.com" name="octolytics-host" /><meta content="github" name="octolytics-app-id" /><meta content="https://collector.githubapp.com/github-external/browser_event" name="octolytics-event-url" /><meta content="3003:C20E:23980C7:36E3084:599262B2" name="octolytics-dimension-request_id" /><meta content="sea" name="octolytics-dimension-region_edge" /><meta content="iad" name="octolytics-dimension-region_render" />    

<meta content="/&lt;user-name&gt;/&lt;repo-name&gt;" data-pjax-transient="true" name="analytics-location" />    

<meta class="js-ga-set" name="dimension1" content="Logged Out">    

<meta name="hostname" content="github.com">    

<meta name="user-login" content="">    

<meta name="expected-hostname" content="github.com">    

<meta name="js-proxy-site-detection-payload" content="YWRkM2RjOTA3ZWE0NWU5MDEzMDUwMmU3YWMyM2ViMmQyM2UxYmRmNjgyY2I5ZmFhZDg5MDdmYjFjNzRhZGYwMXx7InJlbW90ZV9hZGRyZXNzIjoiMTgyLjE4LjE5LjE2MiIsInJlcXVlc3RfaWQiOiIzMDAzOkMyMEU6MjM5ODBDNzozNkUzMDg0OjU5OTI2MkIyIiwidGltZXN0YW1wIjoxNTAyNzY1NzQ3LCJob3N0IjoiZ2l0aHViLmNvbSJ9">    

<meta name="html-safe-nonce" content="29455a412fdda9fb2097b1a6e680167357539871">    

<meta http-equiv="x-pjax-version" content="b572f31d08ea2fc535faa6e578247675">    

<link href="https://github.com/nswbmw/N-blog/commits/master.atom" rel="alternate" title="Recent Commits to N-blog:master" type="application/atom+xml">    

<meta name="description" content="N-blog - 一起学 Node.js">    

<meta name="go-import" content="github.com/nswbmw/N-blog git https://github.com/nswbmw/N-blog.git">    

<meta content="4279697" name="octolytics-dimension-user_id" /><meta content="nswbmw" name="octolytics-dimension-user_login" /><meta content="10309334" name="octolytics-dimension-repository_id" /><meta content="nswbmw/N-blog" name="octolytics-dimension-repository_nwo" /><meta content="true" name="octolytics-dimension-repository_public" /><meta content="false" name="octolytics-dimension-repository_is_fork" /><meta content="10309334" name="octolytics-dimension-repository_network_root_id" /><meta content="nswbmw/N-blog" name="octolytics-dimension-repository_network_root_nwo" /><meta content="false" name="octolytics-dimension-repository_explore_github_marketplace_ci_cta_shown" />    

<link rel="canonical" href="https://github.com/nswbmw/N-blog" data-pjax-transient>    

<meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats">    

<meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors">    

<link rel="mask-icon" href="https://assets-cdn.github.com/pinned-octocat.svg" color="#000000">    

<link rel="icon" type="image/x-icon" href="https://assets-cdn.github.com/favicon.ico">    

<meta name="theme-color" content="#1e2327">    

<meta name="u2f-support" content="true">    

</head>    

<body class="logged-out env-production">    

<div class="position-relative js-header-wrapper ">    

<a href="#start-of-content" tabindex="1" class="px-2 py-4 show-on-focus js-skip-to-content">Skip to content</a>    

<div id="js-pjax-loader-bar" class="pjax-loader-bar"><div class="progress"></div></div>    

<div class="unsupported-browser">    

<div class="container clearfix">    

<!-- '"` --><!-- </textarea></xmp> --></option></form><form accept-charset="UTF-8" action="/site/dismiss_unsupported_browser" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="z2q9c5NsvlPpyAugPpK5BLQEF7LPhuUDJKH1y/752DRRB/2WBXpVxsHsVP0rYCU29a/JVIW9fdpwZSVWcKpJmA==" /></div>    

<button type="submit" class="btn btn-danger">Ignore</button>    

</form>    <a href="https://help.github.com/articles/supported-browsers" class="btn">Learn more</a>    

<h5>Please note that GitHub no longer supports your web browser.</h5>    

<p>We recommend upgrading to the latest <a href="https://chrome.google.com">Google Chrome</a> or <a href="https://mozilla.org/firefox/">Firefox</a>.</p>    

</div>    

</div>    

<div class="header header-logged-out position-relative f4 py-3" role="banner">    

<div class="container-lg px-3 clearfix">    

<div class="d-flex flex-justify-between">    

<div class="d-flex">    

<a class="header-logo-invertocat my-0" href="https://github.com/" aria-label="Homepage" data-ga-click="(Logged out) Header, go to homepage, icon:logo-wordmark">    

<svg aria-hidden="true" class="octicon octicon-mark-github" height="32" version="1.1" viewBox="0 0 16 16" width="32"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"/></svg>    

</a>    

<div class="header-sitemenu clearfix">    

<nav>    

<ul class="d-flex list-style-none">    

<li class="ml-2">    

<a href="/features" class="js-selected-navigation-item header-navlink px-0 py-2 m-0" data-ga-click="Header, click, Nav menu - item:features" data-selected-links="/features /features">    

Features    

</a>                  </li>    

<li class="ml-4">    

<a href="/business" class="js-selected-navigation-item header-navlink px-0 py-2 m-0" data-ga-click="Header, click, Nav menu - item:business" data-selected-links="/business /business/security /business/customers /business">    

Business    

</a>                  </li>    

<li class="ml-4">    

<a href="/explore" class="js-selected-navigation-item header-navlink px-0 py-2 m-0" data-ga-click="Header, click, Nav menu - item:explore" data-selected-links="/explore /trending /trending/developers /integrations /integrations/feature/code /integrations/feature/collaborate /integrations/feature/ship /showcases /explore">    

Explore    

</a>                  </li>    

<li class="ml-4">    

<a href="/marketplace" class="js-selected-navigation-item header-navlink px-0 py-2 m-0" data-ga-click="Header, click, Nav menu - item:marketplace" data-selected-links=" /marketplace">    

Marketplace    

</a>                  </li>    

<li class="ml-4">    

<a href="/pricing" class="js-selected-navigation-item header-navlink px-0 py-2 m-0" data-ga-click="Header, click, Nav menu - item:pricing" data-selected-links="/pricing /pricing/developer /pricing/team /pricing/business-hosted /pricing/business-enterprise /pricing">    

Pricing    

</a>                  </li>    

</ul>    

</nav>    

</div>    

</div>    

<div class="d-flex">    

<div class="mt-1 mr-3">    

<div class="header-search scoped-search site-scoped-search js-site-search" role="search">    

<!-- '"` --><!-- </textarea></xmp> --></option></form><form accept-charset="UTF-8" action="/nswbmw/N-blog/search" class="js-site-search-form" data-scoped-search-url="/nswbmw/N-blog/search" data-unscoped-search-url="/search" method="get"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /></div>    

<label class="form-control header-search-wrapper js-chromeless-input-container">    

<a href="/nswbmw/N-blog" class="header-search-scope no-underline">This repository</a>    

<input type="text"    

class="form-control header-search-input js-site-search-focus js-site-search-field is-clearable"    

data-hotkey="s"    

name="q"    

value=""    

placeholder="Search"    

aria-label="Search this repository"    

data-unscoped-placeholder="Search GitHub"    

data-scoped-placeholder="Search"    

autocapitalize="off">    

<input type="hidden" class="js-site-search-type-field" name="type" >    

</label>    

</form></div>    

</div>    

<span class="d-inline-block">    

<div class="header-navlink px-0 py-2 m-0">    

<a class="text-bold text-white no-underline" href="/login?return_to=%2Fnswbmw%2FN-blog" data-ga-click="(Logged out) Header, clicked Sign in, text:sign-in">Sign in</a>    

<span class="text-gray">or</span>    

<a class="text-bold text-white no-underline" href="/join?source=header-repo" data-ga-click="(Logged out) Header, clicked Sign up, text:sign-up">Sign up</a>    

</div>    

</span>    

</div>    

</div>    

</div>    

</div>    

</div>    

<div id="start-of-content" class="show-on-focus"></div>    

<div id="js-flash-container">    

</div>    

<div role="main">    

<div itemscope itemtype="http://schema.org/SoftwareSourceCode">    

<div id="js-repo-pjax-container" data-pjax-container>    

<div class="pagehead repohead instapaper_ignore readability-menu experiment-repo-nav">    

<div class="container repohead-details-container">    

<ul class="pagehead-actions">    

<li>    

<a href="/login?return_to=%2Fnswbmw%2FN-blog"    

class="btn btn-sm btn-with-count tooltipped tooltipped-n"    

aria-label="You must be signed in to watch a repository" rel="nofollow">    

<svg aria-hidden="true" class="octicon octicon-eye" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M8.06 2C3 2 0 8 0 8s3 6 8.06 6C13 14 16 8 16 8s-3-6-7.94-6zM8 12c-2.2 0-4-1.78-4-4 0-2.2 1.8-4 4-4 2.22 0 4 1.8 4 4 0 2.22-1.78 4-4 4zm2-4c0 1.11-.89 2-2 2-1.11 0-2-.89-2-2 0-1.11.89-2 2-2 1.11 0 2 .89 2 2z"/></svg>    

Watch    

</a>    

<a class="social-count" href="/nswbmw/N-blog/watchers"    

aria-label="740 users are watching this repository">    

740    

</a>    

</li>    

<li>    

<a href="/login?return_to=%2Fnswbmw%2FN-blog"    

class="btn btn-sm btn-with-count tooltipped tooltipped-n"    

aria-label="You must be signed in to star a repository" rel="nofollow">    

<svg aria-hidden="true" class="octicon octicon-star" height="16" version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" d="M14 6l-4.9-.64L7 1 4.9 5.36 0 6l3.6 3.26L2.67 14 7 11.67 11.33 14l-.93-4.74z"/></svg>    

Star    

</a>    

<a class="social-count js-social-count" href="/nswbmw/N-blog/stargazers"    

aria-label="8527 users starred this repository">    

8,527    

</a>    

</li>    

<li>    

<a href="/login?return_to=%2Fnswbmw%2FN-blog"    

class="btn btn-sm btn-with-count tooltipped tooltipped-n"    

aria-label="You must be signed in to fork a repository" rel="nofollow">    

<svg aria-hidden="true" class="octicon octicon-repo-forked" height="16" version="1.1" viewBox="0 0 10 16" width="10"><path fill-rule="evenodd" d="M8 1a1.993 1.993 0 0 0-1 3.72V6L5 8 3 6V4.72A1.993 1.993 0 0 0 2 1a1.993 1.993 0 0 0-1 3.72V6.5l3 3v1.78A1.993 1.993 0 0 0 5 15a1.993 1.993 0 0 0 1-3.72V9.5l3-3V4.72A1.993 1.993 0 0 0 8 1zM2 4.2C1.34 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm3 10c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm3-10c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z"/></svg>    

Fork    

</a>    

<a href="/nswbmw/N-blog/network" class="social-count"    

aria-label="3601 users forked this repository">    

3,601    

</a>    

</li>    

</ul>    

<h1 class="public ">    

<svg aria-hidden="true" class="octicon octicon-repo" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z"/></svg>    

<span class="author" itemprop="author"><a href="/nswbmw" class="url fn" rel="author">nswbmw</a></span><!--    

--><span class="path-divider">/</span><!--    

--><strong itemprop="name"><a href="/nswbmw/N-blog" data-pjax="#js-repo-pjax-container">N-blog</a></strong>    

</h1>    

</div>    

<div class="container">    

<nav class="reponav js-repo-nav js-sidenav-container-pjax"    

itemscope    

itemtype="http://schema.org/BreadcrumbList"    

role="navigation"    

data-pjax="#js-repo-pjax-container">    

<span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement">    

<a href="/nswbmw/N-blog" class="js-selected-navigation-item selected reponav-item" data-hotkey="g c" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches /nswbmw/N-blog" itemprop="url">    

<svg aria-hidden="true" class="octicon octicon-code" height="16" version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" d="M9.5 3L8 4.5 11.5 8 8 11.5 9.5 13 14 8 9.5 3zm-5 0L0 8l4.5 5L6 11.5 2.5 8 6 4.5 4.5 3z"/></svg>    

<span itemprop="name">Code</span>    

<meta itemprop="position" content="1">    

</a>  </span>    

<span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement">    

<a href="/nswbmw/N-blog/issues" class="js-selected-navigation-item reponav-item" data-hotkey="g i" data-selected-links="repo_issues repo_labels repo_milestones /nswbmw/N-blog/issues" itemprop="url">    

<svg aria-hidden="true" class="octicon octicon-issue-opened" height="16" version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"/></svg>    

<span itemprop="name">Issues</span>    

<span class="Counter">21</span>    

<meta itemprop="position" content="2">    

</a>    </span>    

<span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement">    

<a href="/nswbmw/N-blog/pulls" class="js-selected-navigation-item reponav-item" data-hotkey="g p" data-selected-links="repo_pulls /nswbmw/N-blog/pulls" itemprop="url">    

<svg aria-hidden="true" class="octicon octicon-git-pull-request" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M11 11.28V5c-.03-.78-.34-1.47-.94-2.06C9.46 2.35 8.78 2.03 8 2H7V0L4 3l3 3V4h1c.27.02.48.11.69.31.21.2.3.42.31.69v6.28A1.993 1.993 0 0 0 10 15a1.993 1.993 0 0 0 1-3.72zm-1 2.92c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zM4 3c0-1.11-.89-2-2-2a1.993 1.993 0 0 0-1 3.72v6.56A1.993 1.993 0 0 0 2 15a1.993 1.993 0 0 0 1-3.72V4.72c.59-.34 1-.98 1-1.72zm-.8 10c0 .66-.55 1.2-1.2 1.2-.65 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2zM2 4.2C1.34 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z"/></svg>    

<span itemprop="name">Pull requests</span>    

<span class="Counter">1</span>    

<meta itemprop="position" content="3">    

</a>  </span>    

<a href="/nswbmw/N-blog/projects" class="js-selected-navigation-item reponav-item" data-selected-links="repo_projects new_repo_project repo_project /nswbmw/N-blog/projects">    

<svg aria-hidden="true" class="octicon octicon-project" height="16" version="1.1" viewBox="0 0 15 16" width="15"><path fill-rule="evenodd" d="M10 12h3V2h-3v10zm-4-2h3V2H6v8zm-4 4h3V2H2v12zm-1 1h13V1H1v14zM14 0H1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h13a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1z"/></svg>    

Projects    

<span class="Counter" >0</span>    

</a>    

<div class="reponav-dropdown js-menu-container">    

<button type="button" class="btn-link reponav-item reponav-dropdown js-menu-target " data-no-toggle aria-expanded="false" aria-haspopup="true">    

Insights    

<svg aria-hidden="true" class="octicon octicon-triangle-down v-align-middle text-gray" height="11" version="1.1" viewBox="0 0 12 16" width="8"><path fill-rule="evenodd" d="M0 5l6 6 6-6z"/></svg>    

</button>    

<div class="dropdown-menu-content js-menu-content">    

<div class="dropdown-menu dropdown-menu-sw">    

<a class="dropdown-item" href="/nswbmw/N-blog/pulse" data-skip-pjax>    

<svg aria-hidden="true" class="octicon octicon-pulse" height="16" version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" d="M11.5 8L8.8 5.4 6.6 8.5 5.5 1.6 2.38 8H0v2h3.6l.9-1.8.9 5.4L9 8.5l1.6 1.5H14V8z"/></svg>    

Pulse    

</a>    

<a class="dropdown-item" href="/nswbmw/N-blog/graphs" data-skip-pjax>    

<svg aria-hidden="true" class="octicon octicon-graph" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M16 14v1H0V0h1v14h15zM5 13H3V8h2v5zm4 0H7V3h2v10zm4 0h-2V6h2v7z"/></svg>    

Graphs    

</a>    

</div>    

</div>    

</div>    

</nav>    

</div>    

</div>    

<div class="container new-discussion-timeline experiment-repo-nav">    

<div class="repository-content">    

<div class="signup-prompt-bg rounded-1">    

<div class="signup-prompt p-4 text-center mb-4 rounded-1">    

<div class="position-relative">    

<!-- '"` --><!-- </textarea></xmp> --></option></form><form accept-charset="UTF-8" action="/site/dismiss_signup_prompt" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="EBx8rxCQfQt6G+evzoUJFcbaD4yaeTn9OU5Igvh63Jvmw3hAF5jd5CBR/WCAY3mkrgRsz6/lb8Mp4PYRtxbbPw==" /></div>    

<button type="submit" class="position-absolute top-0 right-0 btn-link link-gray" data-ga-click="(Logged out) Sign up prompt, clicked Dismiss, text:dismiss">    

Dismiss    

</button>    

</form>    

<h3 class="pt-2">Join GitHub today</h3>    

<p class="col-6 mx-auto">GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.</p>    

<p class="pb-2">    

<a class="btn btn-blue" href="/join?source=prompt-code" data-ga-click="(Logged out) Sign up prompt, clicked Sign up, text:sign-up">Sign up</a>    

</p>    

</div>    

</div>    

</div>    

<div class="js-repo-meta-container">    

<div class="repository-meta mb-0  js-repo-meta-edit js-details-container">    

<div class="repository-meta-content col-11 mb-1">    

<span class="col-11 text-gray-dark mr-2" itemprop="about">    

一起学 Node.js    

</span>    

</div>    

</div>    

<div class="mb-3 repository-topics-container js-repository-topics-container js-details-container">    

<div id="topics-list-container" data-url="/nswbmw/N-blog/settings/topics">    

<div class="list-topics-container f6 mt-1">    

<a href="/search?q=topic%3Atutorial&amp;type=Repositories" class="topic-tag topic-tag-link" data-ga-click="Topic, repository page" data-octo-click="topic_click" data-octo-dimensions="topic:tutorial">    

tutorial    

</a>    

<a href="/search?q=topic%3Anodejs&amp;type=Repositories" class="topic-tag topic-tag-link" data-ga-click="Topic, repository page" data-octo-click="topic_click" data-octo-dimensions="topic:nodejs">    

nodejs    

</a>    

<a href="/search?q=topic%3Amongodb&amp;type=Repositories" class="topic-tag topic-tag-link" data-ga-click="Topic, repository page" data-octo-click="topic_click" data-octo-dimensions="topic:mongodb">    

mongodb    

</a>    

<a href="/search?q=topic%3Aexpress&amp;type=Repositories" class="topic-tag topic-tag-link" data-ga-click="Topic, repository page" data-octo-click="topic_click" data-octo-dimensions="topic:express">    

express    

</a>    

<a href="/search?q=topic%3Ablog&amp;type=Repositories" class="topic-tag topic-tag-link" data-ga-click="Topic, repository page" data-octo-click="topic_click" data-octo-dimensions="topic:blog">    

blog    

</a>    

</div>    

</div>    

</div>    

</div>    

<div class="overall-summary overall-summary-bottomless">    

<div class="stats-switcher-viewport js-stats-switcher-viewport">    

<div class="stats-switcher-wrapper">    

<ul class="numbers-summary">    

<li class="commits">    

<a data-pjax href="/nswbmw/N-blog/commits/master">    

<svg aria-hidden="true" class="octicon octicon-history" height="16" version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" d="M8 13H6V6h5v2H8v5zM7 1C4.81 1 2.87 2.02 1.59 3.59L0 2v4h4L2.5 4.5C3.55 3.17 5.17 2.3 7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-.34.03-.67.09-1H.08C.03 7.33 0 7.66 0 8c0 3.86 3.14 7 7 7s7-3.14 7-7-3.14-7-7-7z"/></svg>    

<span class="num text-emphasized">    

146    

</span>    

commits    

</a>    

</li>    

<li>    

<a data-pjax href="/nswbmw/N-blog/branches">    

<svg aria-hidden="true" class="octicon octicon-git-branch" height="16" version="1.1" viewBox="0 0 10 16" width="10"><path fill-rule="evenodd" d="M10 5c0-1.11-.89-2-2-2a1.993 1.993 0 0 0-1 3.72v.3c-.02.52-.23.98-.63 1.38-.4.4-.86.61-1.38.63-.83.02-1.48.16-2 .45V4.72a1.993 1.993 0 0 0-1-3.72C.88 1 0 1.89 0 3a2 2 0 0 0 1 1.72v6.56c-.59.35-1 .99-1 1.72 0 1.11.89 2 2 2 1.11 0 2-.89 2-2 0-.53-.2-1-.53-1.36.09-.06.48-.41.59-.47.25-.11.56-.17.94-.17 1.05-.05 1.95-.45 2.75-1.25S8.95 7.77 9 6.73h-.02C9.59 6.37 10 5.73 10 5zM2 1.8c.66 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2C1.35 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2zm0 12.41c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm6-8c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z"/></svg>    

<span class="num text-emphasized">    

2    

</span>    

branches    

</a>    

</li>    

<li>    

<a href="/nswbmw/N-blog/releases">    

<svg aria-hidden="true" class="octicon octicon-tag" height="16" version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" d="M7.73 1.73C7.26 1.26 6.62 1 5.96 1H3.5C2.13 1 1 2.13 1 3.5v2.47c0 .66.27 1.3.73 1.77l6.06 6.06c.39.39 1.02.39 1.41 0l4.59-4.59a.996.996 0 0 0 0-1.41L7.73 1.73zM2.38 7.09c-.31-.3-.47-.7-.47-1.13V3.5c0-.88.72-1.59 1.59-1.59h2.47c.42 0 .83.16 1.13.47l6.14 6.13-4.73 4.73-6.13-6.15zM3.01 3h2v2H3V3h.01z"/></svg>    

<span class="num text-emphasized">    

0    

</span>    

releases    

</a>    

</li>    

<li>    

<a href="/nswbmw/N-blog/graphs/contributors">    

<svg aria-hidden="true" class="octicon octicon-organization" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M16 12.999c0 .439-.45 1-1 1H7.995c-.539 0-.994-.447-.995-.999H1c-.54 0-1-.561-1-1 0-2.634 3-4 3-4s.229-.409 0-1c-.841-.621-1.058-.59-1-3 .058-2.419 1.367-3 2.5-3s2.442.58 2.5 3c.058 2.41-.159 2.379-1 3-.229.59 0 1 0 1s1.549.711 2.42 2.088C9.196 9.369 10 8.999 10 8.999s.229-.409 0-1c-.841-.62-1.058-.59-1-3 .058-2.419 1.367-3 2.5-3s2.437.581 2.495 3c.059 2.41-.158 2.38-1 3-.229.59 0 1 0 1s3.005 1.366 3.005 4"/></svg>    

<span class="num text-emphasized">    

19    

</span>    

contributors    

</a>    

</li>    

</ul>    

<div class="repository-lang-stats">    

<ol class="repository-lang-stats-numbers">    

<li>    

<a href="/nswbmw/N-blog/search?l=javascript"  data-ga-click="Repository, language stats search click, location:repo overview">    

<span class="color-block language-color" style="background-color:#f1e05a;"></span>    

<span class="lang">JavaScript</span>    

<span class="percent">66.3%</span>    

</a>    

</li>    

<li>    

<a href="/nswbmw/N-blog/search?l=html"  data-ga-click="Repository, language stats search click, location:repo overview">    

<span class="color-block language-color" style="background-color:#e34c26;"></span>    

<span class="lang">HTML</span>    

<span class="percent">30.3%</span>    

</a>    

</li>    

<li>    

<a href="/nswbmw/N-blog/search?l=css"  data-ga-click="Repository, language stats search click, location:repo overview">    

<span class="color-block language-color" style="background-color:#563d7c;"></span>    

<span class="lang">CSS</span>    

<span class="percent">3.4%</span>    

</a>    

</li>    

</ol>    

</div>    

</div>    

</div>    

</div>    

<div class="repository-lang-stats-graph js-toggle-lang-stats" title="Click for language details" data-ga-click="Repository, language bar stats toggle, location:repo overview">    

<span class="language-color" aria-label="JavaScript 66.3%" style="width:66.3%; background-color:#f1e05a;" itemprop="keywords">JavaScript</span>    

<span class="language-color" aria-label="HTML 30.3%" style="width:30.3%; background-color:#e34c26;" itemprop="keywords">HTML</span>    

<span class="language-color" aria-label="CSS 3.4%" style="width:3.4%; background-color:#563d7c;" itemprop="keywords">CSS</span>    

</div>    

<div class="file-navigation in-mid-page">    

<div class="select-menu get-repo-select-menu js-menu-container float-right select-menu-modal-right">    

<button class="btn btn-sm btn-primary select-menu-button js-menu-target"    

type="button" aria-label="Clone or download this repository" aria-expanded="false" aria-haspopup="true">    

<span>Clone or download</span>    

</button>    

<div class="select-menu-modal-holder dropdown-menu-content js-menu-content">    

<div class="get-repo-modal dropdown-menu dropdown-menu-sw pb-0 js-toggler-container ">    

<div class="clone-options https-clone-options">    

<h4 class="mb-1">    

Clone with HTTPS    

<a class="muted-link" href="https://help.github.com/articles/which-remote-url-should-i-use" target="_blank" title="Which remote URL should I use?">    

<svg aria-hidden="true" class="octicon octicon-question" height="16" version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" d="M6 10h2v2H6v-2zm4-3.5C10 8.64 8 9 8 9H6c0-.55.45-1 1-1h.5c.28 0 .5-.22.5-.5v-1c0-.28-.22-.5-.5-.5h-1c-.28 0-.5.22-.5.5V7H4c0-1.5 1.5-3 3-3s3 1 3 2.5zM7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7z"/></svg>    

</a>    

</h4>    

<p class="mb-2 get-repo-decription-text">    

Use Git or checkout with SVN using the web URL.    

</p>    

<div class="input-group js-zeroclipboard-container">    

<input type="text" class="form-control input-monospace input-sm js-zeroclipboard-target js-url-field" value="https://github.com/nswbmw/N-blog.git" aria-label="Clone this repository at https://github.com/nswbmw/N-blog.git" readonly>    

<div class="input-group-button">    

<button aria-label="Copy to clipboard" class="js-zeroclipboard btn btn-sm zeroclipboard-button tooltipped tooltipped-s" data-copied-hint="Copied!" type="button"><svg aria-hidden="true" class="octicon octicon-clippy" height="16" version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" d="M2 13h4v1H2v-1zm5-6H2v1h5V7zm2 3V8l-3 3 3 3v-2h5v-2H9zM4.5 9H2v1h2.5V9zM2 12h2.5v-1H2v1zm9 1h1v2c-.02.28-.11.52-.3.7-.19.18-.42.28-.7.3H1c-.55 0-1-.45-1-1V4c0-.55.45-1 1-1h3c0-1.11.89-2 2-2 1.11 0 2 .89 2 2h3c.55 0 1 .45 1 1v5h-1V6H1v9h10v-2zM2 5h8c0-.55-.45-1-1-1H8c-.55 0-1-.45-1-1s-.45-1-1-1-1 .45-1 1-.45 1-1 1H3c-.55 0-1 .45-1 1z"/></svg></button>    

</div>    

</div>    

</div>    

<div class="mt-2">    

<a href="https://desktop.github.com" class="btn btn-outline get-repo-btn tooltipped tooltipped-s tooltipped-multiline" aria-label="Clone nswbmw/N-blog to your computer and use it in GitHub Desktop.">    

Open in Desktop    

</a>    

<a href="/nswbmw/N-blog/archive/master.zip"    

class="btn btn-outline get-repo-btn    

"    

rel="nofollow"    

data-ga-click="Repository, download zip, location:repo overview">    

Download ZIP    

</a>    

</div>    

</div>    

</div>    

</div>    

<div class="BtnGroup float-right">    

<a href="/nswbmw/N-blog/find/master"    

class="btn btn-sm empty-icon float-right BtnGroup-item"    

data-pjax    

data-hotkey="t"    

data-ga-click="Repository, find file, location:repo overview">    

Find file    

</a>    

</div>    

<div class="select-menu branch-select-menu js-menu-container js-select-menu float-left">    

<button class=" btn btn-sm select-menu-button js-menu-target css-truncate" data-hotkey="w"    

type="button" aria-label="Switch branches or tags" aria-expanded="false" aria-haspopup="true">    

<i>Branch:</i>    

<span class="js-select-button css-truncate-target">master</span>    

</button>    

<div class="select-menu-modal-holder js-menu-content js-navigation-container" data-pjax>    

<div class="select-menu-modal">    

<div class="select-menu-header">    

<svg aria-label="Close" class="octicon octicon-x js-menu-close" height="16" role="img" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48z"/></svg>    

<span class="select-menu-title">Switch branches/tags</span>    

</div>    

<div class="select-menu-filters">    

<div class="select-menu-text-filter">    

<input type="text" aria-label="Filter branches/tags" id="context-commitish-filter-field" class="form-control js-filterable-field js-navigation-enable" placeholder="Filter branches/tags">    

</div>    

<div class="select-menu-tabs">    

<ul>    

<li class="select-menu-tab">    

<a href="#" data-tab-filter="branches" data-filter-placeholder="Filter branches/tags" class="js-select-menu-tab" role="tab">Branches</a>    

</li>    

<li class="select-menu-tab">    

<a href="#" data-tab-filter="tags" data-filter-placeholder="Find a tag…" class="js-select-menu-tab" role="tab">Tags</a>    

</li>    

</ul>    

</div>    

</div>    

<div class="select-menu-list select-menu-tab-bucket js-select-menu-tab-bucket" data-tab-filter="branches" role="menu">    

<div data-filterable-for="context-commitish-filter-field" data-filterable-type="substring">    

<a class="select-menu-item js-navigation-item js-navigation-open "    

href="/nswbmw/N-blog/tree/backup"    

data-name="backup"    

data-skip-pjax="true"    

rel="nofollow">    

<svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>    

<span class="select-menu-item-text css-truncate-target js-select-menu-filter-text">    

backup    

</span>    

</a>    

<a class="select-menu-item js-navigation-item js-navigation-open selected"    

href="/nswbmw/N-blog/tree/master"    

data-name="master"    

data-skip-pjax="true"    

rel="nofollow">    

<svg aria-hidden="true" class="octicon octicon-check select-menu-item-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5z"/></svg>    

<span class="select-menu-item-text css-truncate-target js-select-menu-filter-text">    

master    

</span>    

</a>    

</div>    

<div class="select-menu-no-results">Nothing to show</div>    

</div>    

<div class="select-menu-list select-menu-tab-bucket js-select-menu-tab-bucket" data-tab-filter="tags">    

<div data-filterable-for="context-commitish-filter-field" data-filterable-type="substring">    

</div>    

<div class="select-menu-no-results">Nothing to show</div>    

</div>    

</div>    

</div>    

</div>    

<button type="button" class="btn btn-sm disabled tooltipped tooltipped-n new-pull-request-btn" aria-label="You must be signed in to create a pull request">    

New pull request    

</button>    

<div class="breadcrumb">    

</div>    

</div>    

<div class="commit-tease js-details-container Details">    

<span class="float-right">    

Latest commit    

<a class="commit-tease-sha" href="/nswbmw/N-blog/commit/84d565206079cd7e5e309a2069ea12d5bf5127b3" data-pjax>    

84d5652    

</a>    

<span itemprop="dateModified"><relative-time datetime="2017-07-21T15:52:53Z">Jul 21, 2017</relative-time></span>    

</span>    

<span class="commit-author-section">    

<img alt="@nswbmw" class="avatar" height="20" src="https://avatars1.githubusercontent.com/u/4279697?v=4&amp;s=40" width="20" />    

<a href="/nswbmw" class="user-mention" rel="author">nswbmw</a>    

committed on <strong>GitHub</strong>    

</span>    

<a href="/nswbmw/N-blog/commit/84d565206079cd7e5e309a2069ea12d5bf5127b3" class="message" data-pjax="true" title="Merge pull request #398 from diaoqi7/patch-1    

Update 4.2 准备工作.md">Merge pull request</a> <a href="https://github.com/nswbmw/N-blog/pull/398" class="issue-link js-issue-link" data-url="https://github.com/nswbmw/N-blog/issues/398" data-id="244633103" data-error-text="Failed to load issue title" data-permission-text="Issue title is private">#398</a> <a href="/nswbmw/N-blog/commit/84d565206079cd7e5e309a2069ea12d5bf5127b3" class="message" data-pjax="true" title="Merge pull request #398 from diaoqi7/patch-1    

Update 4.2 准备工作.md">from diaoqi7/patch-1</a>    

<span class="hidden-text-expander inline">    

<button type="button" class="ellipsis-expander js-details-target" aria-expanded="false">&hellip;</button>    

</span>    

</span>    

<div class="commit-desc"><pre class="text-small">Update 4.2 准备工作.md</pre></div>    

</div>    

<div class="file-wrap">    

<a href="/nswbmw/N-blog/tree/84d565206079cd7e5e309a2069ea12d5bf5127b3" class="d-none js-permalink-shortcut" data-hotkey="y">Permalink</a>    

<table class="files js-navigation-container js-active-navigation-container" data-pjax>    

<tbody>    

<tr class="warning include-fragment-error">    

<td class="icon"><svg aria-hidden="true" class="octicon octicon-alert" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M8.865 1.52c-.18-.31-.51-.5-.87-.5s-.69.19-.87.5L.275 13.5c-.18.31-.18.69 0 1 .19.31.52.5.87.5h13.7c.36 0 .69-.19.86-.5.17-.31.18-.69.01-1L8.865 1.52zM8.995 13h-2v-2h2v2zm0-3h-2V6h2v4z"/></svg></td>    

<td class="content" colspan="3">Failed to load latest commit information.</td>    

</tr>    

<tr class="js-navigation-item">    

<td class="icon">    

<svg aria-hidden="true" class="octicon octicon-file-directory" height="16" version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" d="M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z"/></svg>    

<img alt="" class="spinner" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" width="16" />    

</td>    

<td class="content">    

<span class="css-truncate css-truncate-target"><a href="/nswbmw/N-blog/tree/master/.github" class="js-navigation-open" id="01777e4a9846fea5f3fcc8fe40d44680-42a6ba5e021d3ec3d80e08e5002f81e2ed3bb78c" title=".github">.github</a></span>    

</td>    

<td class="message">    

<span class="css-truncate css-truncate-target">    

<a href="/nswbmw/N-blog/commit/11f0ed27642573b7cd007f20c8adc15e98c6e9b2" class="message" data-pjax="true" title="add: ISSUE_TEAMPLATE">add: ISSUE_TEAMPLATE</a>    

</span>    

</td>    

<td class="age">    

<span class="css-truncate css-truncate-target"><time-ago datetime="2017-01-06T05:52:02Z">Jan 6, 2017</time-ago></span>    

</td>    

</tr>    

<tr class="js-navigation-item">    

<td class="icon">    

<svg aria-hidden="true" class="octicon octicon-file-directory" height="16" version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" d="M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z"/></svg>    

<img alt="" class="spinner" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" width="16" />    

</td>    

<td class="content">    

<span class="css-truncate css-truncate-target"><a href="/nswbmw/N-blog/tree/master/book" class="js-navigation-open" id="821f03288846297c2cf43c34766a38f7-789fedab990ae02b7459da0640dcd2de5bce6263" title="book">book</a></span>    

</td>    

<td class="message">    

<span class="css-truncate css-truncate-target">    

<a href="/nswbmw/N-blog/commit/05499c8d704d250ca51b67c8feb22a8aae59b1e1" class="message" data-pjax="true" title="Update 4.2 准备工作.md">Update 4.2 准备工作.md</a>    

</span>    

</td>    

<td class="age">    

<span class="css-truncate css-truncate-target"><time-ago datetime="2017-07-21T10:44:14Z">Jul 21, 2017</time-ago></span>    

</td>    

</tr>    

<tr class="js-navigation-item">    

<td class="icon">    

<svg aria-hidden="true" class="octicon octicon-file-directory" height="16" version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" d="M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z"/></svg>    

<img alt="" class="spinner" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" width="16" />    

</td>    

<td class="content">    

<span class="css-truncate css-truncate-target"><a href="/nswbmw/N-blog/tree/master/config" class="js-navigation-open" id="2245023265ae4cf87d02c8b6ba991139-ce8fc8993e6f81d8be52c4ef82f21ba156b497c8" title="config">config</a></span>    

</td>    

<td class="message">    

<span class="css-truncate css-truncate-target">    

<a href="/nswbmw/N-blog/commit/a7f35cbbdc83ce65e6438d5820a97884cfe04b8d" class="message" data-pjax="true" title="fix #199 #207">fix</a> <a href="https://github.com/nswbmw/N-blog/issues/199" class="issue-link js-issue-link" data-url="https://github.com/nswbmw/N-blog/issues/199" data-id="188406120" data-error-text="Failed to load issue title" data-permission-text="Issue title is private">#199</a> <a href="https://github.com/nswbmw/N-blog/issues/207" class="issue-link js-issue-link" data-url="https://github.com/nswbmw/N-blog/issues/207" data-id="189962628" data-error-text="Failed to load issue title" data-permission-text="Issue title is private">#207</a>    

</span>    

</td>    

<td class="age">    

<span class="css-truncate css-truncate-target"><time-ago datetime="2016-11-17T08:11:53Z">Nov 17, 2016</time-ago></span>    

</td>    

</tr>    

<tr class="js-navigation-item">    

<td class="icon">    

<svg aria-hidden="true" class="octicon octicon-file-directory" height="16" version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" d="M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z"/></svg>    

<img alt="" class="spinner" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" width="16" />    

</td>    

<td class="content">    

<span class="css-truncate css-truncate-target"><a href="/nswbmw/N-blog/tree/master/lib" class="js-navigation-open" id="e8acc63b1e238f3255c900eed37254b8-cce5ff9c1e7d5b5839eacdeaf54c32c39b93d8d0" title="lib">lib</a></span>    

</td>    

<td class="message">    

<span class="css-truncate css-truncate-target">    

<a href="/nswbmw/N-blog/commit/74eeadeeb327a2f26391f85d00010af3f9aef2c4" class="message" data-pjax="true" title="upgrage config-lite@2 &amp; fix #348">upgrage config-lite@2 &amp;</a> <span class="issue-keyword tooltipped tooltipped-s" aria-label="This commit closes issue #348."><a href="/nswbmw/N-blog/commit/74eeadeeb327a2f26391f85d00010af3f9aef2c4" class="message" data-pjax="true" title="upgrage config-lite@2 &amp; fix #348">fix</a></span> <a href="https://github.com/nswbmw/N-blog/issues/348" class="issue-link js-issue-link" data-url="https://github.com/nswbmw/N-blog/issues/348" data-id="223237689" data-error-text="Failed to load issue title" data-permission-text="Issue title is private">#348</a>    

</span>    

</td>    

<td class="age">    

<span class="css-truncate css-truncate-target"><time-ago datetime="2017-04-21T05:21:52Z">Apr 21, 2017</time-ago></span>    

</td>    

</tr>    

<tr class="js-navigation-item">    

<td class="icon">    

<svg aria-hidden="true" class="octicon octicon-file-directory" height="16" version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" d="M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z"/></svg>    

<img alt="" class="spinner" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" width="16" />    

</td>    

<td class="content">    

<span class="css-truncate css-truncate-target"><a href="/nswbmw/N-blog/tree/master/logs" class="js-navigation-open" id="2165e4fa5bddb65a31f6a0c495c2fa37-9f3b5fce9cc4ec9b6d90b50ee0722816e326f492" title="logs">logs</a></span>    

</td>    

<td class="message">    

<span class="css-truncate css-truncate-target">    

<a href="/nswbmw/N-blog/commit/c0033bc16f1199ca207fc1e5aba30d3a9c939755" class="message" data-pjax="true" title="fix logs folder ENOENT">fix logs folder ENOENT</a>    

</span>    

</td>    

<td class="age">    

<span class="css-truncate css-truncate-target"><time-ago datetime="2016-12-01T03:13:45Z">Dec 1, 2016</time-ago></span>    

</td>    

</tr>    

<tr class="js-navigation-item">    

<td class="icon">    

<svg aria-hidden="true" class="octicon octicon-file-directory" height="16" version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" d="M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z"/></svg>    

<img alt="" class="spinner" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" width="16" />    

</td>    

<td class="content">    

<span class="css-truncate css-truncate-target"><a href="/nswbmw/N-blog/tree/master/middlewares" class="js-navigation-open" id="9581bb3a6f986330f1cf290c3e627b5a-2a1896e8844017b68a20b1b8d9fd2d6b195f6016" title="middlewares">middlewares</a></span>    

</td>    

<td class="message">    

<span class="css-truncate css-truncate-target">    

<a href="/nswbmw/N-blog/commit/945adf9f9e518ca78adeccb6a0e9b536ff5e6cec" class="message" data-pjax="true" title="rewrite">rewrite</a>    

</span>    

</td>    

<td class="age">    

<span class="css-truncate css-truncate-target"><time-ago datetime="2016-11-03T09:02:02Z">Nov 3, 2016</time-ago></span>    

</td>    

</tr>    

<tr class="js-navigation-item">    

<td class="icon">    

<svg aria-hidden="true" class="octicon octicon-file-directory" height="16" version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" d="M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z"/></svg>    

<img alt="" class="spinner" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" width="16" />    

</td>    

<td class="content">    

<span class="css-truncate css-truncate-target"><a href="/nswbmw/N-blog/tree/master/models" class="js-navigation-open" id="ac5552fd6a3c08ad22387efbe42d137d-4742c0608a623825b27a8d8c5fe695b8f9be74a0" title="models">models</a></span>    

</td>    

<td class="message">    

<span class="css-truncate css-truncate-target">    

<a href="/nswbmw/N-blog/commit/08308b32ac4ebe19016db38757dfa1d05baf5b48" class="message" data-pjax="true" title="add: delCommentsByPostId">add: delCommentsByPostId</a>    

</span>    

</td>    

<td class="age">    

<span class="css-truncate css-truncate-target"><time-ago datetime="2016-12-09T09:11:44Z">Dec 9, 2016</time-ago></span>    

</td>    

</tr>    

<tr class="js-navigation-item">    

<td class="icon">    

<svg aria-hidden="true" class="octicon octicon-file-directory" height="16" version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" d="M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z"/></svg>    

<img alt="" class="spinner" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" width="16" />    

</td>    

<td class="content">    

<span class="css-truncate css-truncate-target"><a href="/nswbmw/N-blog/tree/master/public" class="js-navigation-open" id="4c9184f37cff01bcdc32dc486ec36961-537f62bdf3d7410093d5ae1f0eb89a1e10e30b6b" title="public">public</a></span>    

</td>    

<td class="message">    

<span class="css-truncate css-truncate-target">    

<a href="/nswbmw/N-blog/commit/577614c16760c355822c307f508a1afc15d3a26e" class="message" data-pjax="true" title="add empty directory public/img and ignore png files">add empty directory public/img and ignore png files</a>    

</span>    

</td>    

<td class="age">    

<span class="css-truncate css-truncate-target"><time-ago datetime="2016-11-21T03:34:45Z">Nov 21, 2016</time-ago></span>    

</td>    

</tr>    

<tr class="js-navigation-item">    

<td class="icon">    

<svg aria-hidden="true" class="octicon octicon-file-directory" height="16" version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" d="M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z"/></svg>    

<img alt="" class="spinner" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" width="16" />    

</td>    

<td class="content">    

<span class="css-truncate css-truncate-target"><a href="/nswbmw/N-blog/tree/master/routes" class="js-navigation-open" id="1755347e5f6a762b84a3f6512a3e4e53-5b490cfa2f95de6c301be309bf8bb0f8fbd56480" title="routes">routes</a></span>    

</td>    

<td class="message">    

<span class="css-truncate css-truncate-target">    

<a href="/nswbmw/N-blog/commit/4ccefef558e13acb1426cdff0176950418b7e647" class="message" data-pjax="true" title="fix #317">fix</a> <a href="https://github.com/nswbmw/N-blog/issues/317" class="issue-link js-issue-link" data-url="https://github.com/nswbmw/N-blog/issues/317" data-id="211849741" data-error-text="Failed to load issue title" data-permission-text="Issue title is private">#317</a>    

</span>    

</td>    

<td class="age">    

<span class="css-truncate css-truncate-target"><time-ago datetime="2017-03-04T05:24:23Z">Mar 4, 2017</time-ago></span>    

</td>    

</tr>    

<tr class="js-navigation-item">    

<td class="icon">    

<svg aria-hidden="true" class="octicon octicon-file-directory" height="16" version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" d="M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z"/></svg>    

<img alt="" class="spinner" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" width="16" />    

</td>    

<td class="content">    

<span class="css-truncate css-truncate-target"><a href="/nswbmw/N-blog/tree/master/test" class="js-navigation-open" id="098f6bcd4621d373cade4e832627b4f6-b4d505f97cff3a510b8e46456d66cfa107dc5b09" title="test">test</a></span>    

</td>    

<td class="message">    

<span class="css-truncate css-truncate-target">    

<span class="issue-keyword tooltipped tooltipped-se" aria-label="This commit closes issue #277."><a href="/nswbmw/N-blog/commit/9d5c1a8a79455dec96e61d97e78e1b7ff0c0140e" class="message" data-pjax="true" title="fix #277">fix</a></span> <a href="https://github.com/nswbmw/N-blog/issues/277" class="issue-link js-issue-link" data-url="https://github.com/nswbmw/N-blog/issues/277" data-id="201210288" data-error-text="Failed to load issue title" data-permission-text="Issue title is private">#277</a>    

</span>    

</td>    

<td class="age">    

<span class="css-truncate css-truncate-target"><time-ago datetime="2017-01-18T04:32:24Z">Jan 18, 2017</time-ago></span>    

</td>    

</tr>    

<tr class="js-navigation-item">    

<td class="icon">    

<svg aria-hidden="true" class="octicon octicon-file-directory" height="16" version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" d="M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z"/></svg>    

<img alt="" class="spinner" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" width="16" />    

</td>    

<td class="content">    

<span class="css-truncate css-truncate-target"><a href="/nswbmw/N-blog/tree/master/views" class="js-navigation-open" id="59a14a5786fe7a105d780bb1e1e2b21b-9a643890ebf6756d9ffc8b212f6d2681376dfcbd" title="views">views</a></span>    

</td>    

<td class="message">    

<span class="css-truncate css-truncate-target">    

<a href="/nswbmw/N-blog/commit/e35ed5722e73af119f0fad64618a920e76f8b6e8" class="message" data-pjax="true" title="add &#39;avatar-link&#39; class to fix avatar fail to popup issue in posts page">add 'avatar-link' class to fix avatar fail to popup issue in posts page</a>    

</span>    

</td>    

<td class="age">    

<span class="css-truncate css-truncate-target"><time-ago datetime="2017-07-20T15:07:32Z">Jul 20, 2017</time-ago></span>    

</td>    

</tr>    

<tr class="js-navigation-item">    

<td class="icon">    

<svg aria-hidden="true" class="octicon octicon-file-text" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path d="M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z"/></svg>    

<img alt="" class="spinner" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" width="16" />    

</td>    

<td class="content">    

<span class="css-truncate css-truncate-target"><a href="/nswbmw/N-blog/blob/master/.gitignore" class="js-navigation-open" id="a084b794bc0759e7a6b77810e01874f2-59089dcd8f77a6a54ac9a4ae26c4462f6294b36e" title=".gitignore">.gitignore</a></span>    

</td>    

<td class="message">    

<span class="css-truncate css-truncate-target">    

<a href="/nswbmw/N-blog/commit/c0033bc16f1199ca207fc1e5aba30d3a9c939755" class="message" data-pjax="true" title="fix logs folder ENOENT">fix logs folder ENOENT</a>    

</span>    

</td>    

<td class="age">    

<span class="css-truncate css-truncate-target"><time-ago datetime="2016-12-01T03:13:45Z">Dec 1, 2016</time-ago></span>    

</td>    

</tr>    

<tr class="js-navigation-item">    

<td class="icon">    

<svg aria-hidden="true" class="octicon octicon-file-text" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path d="M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z"/></svg>    

<img alt="" class="spinner" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" width="16" />    

</td>    

<td class="content">    

<span class="css-truncate css-truncate-target"><a href="/nswbmw/N-blog/blob/master/README.md" class="js-navigation-open" id="04c6e90faac2675aa89e2176d2eec7d8-9ea54d6e197533cf8f835f196748e29f9af447fd" title="README.md">README.md</a></span>    

</td>    

<td class="message">    

<span class="css-truncate css-truncate-target">    

<a href="/nswbmw/N-blog/commit/bead73429388c4b2b563a1628d8be30b021d87e0" class="message" data-pjax="true" title="add: gitbook link">add: gitbook link</a>    

</span>    

</td>    

<td class="age">    

<span class="css-truncate css-truncate-target"><time-ago datetime="2016-12-11T10:40:37Z">Dec 11, 2016</time-ago></span>    

</td>    

</tr>    

<tr class="js-navigation-item">    

<td class="icon">    

<svg aria-hidden="true" class="octicon octicon-file-text" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path d="M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z"/></svg>    

<img alt="" class="spinner" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" width="16" />    

</td>    

<td class="content">    

<span class="css-truncate css-truncate-target"><a href="/nswbmw/N-blog/blob/master/index.js" class="js-navigation-open" id="168726dbe96b3ce427e7fedce31bb0bc-2413d92db388970ff965148cbd1bb75a535263f3" title="index.js">index.js</a></span>    

</td>    

<td class="message">    

<span class="css-truncate css-truncate-target">    

<a href="/nswbmw/N-blog/commit/74eeadeeb327a2f26391f85d00010af3f9aef2c4" class="message" data-pjax="true" title="upgrage config-lite@2 &amp; fix #348">upgrage config-lite@2 &amp;</a> <span class="issue-keyword tooltipped tooltipped-s" aria-label="This commit closes issue #348."><a href="/nswbmw/N-blog/commit/74eeadeeb327a2f26391f85d00010af3f9aef2c4" class="message" data-pjax="true" title="upgrage config-lite@2 &amp; fix #348">fix</a></span> <a href="https://github.com/nswbmw/N-blog/issues/348" class="issue-link js-issue-link" data-url="https://github.com/nswbmw/N-blog/issues/348" data-id="223237689" data-error-text="Failed to load issue title" data-permission-text="Issue title is private">#348</a>    

</span>    

</td>    

<td class="age">    

<span class="css-truncate css-truncate-target"><time-ago datetime="2017-04-21T05:21:52Z">Apr 21, 2017</time-ago></span>    

</td>    

</tr>    

<tr class="js-navigation-item">    

<td class="icon">    

<svg aria-hidden="true" class="octicon octicon-file-text" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path d="M6 5H2V4h4v1zM2 8h7V7H2v1zm0 2h7V9H2v1zm0 2h7v-1H2v1zm10-7.5V14c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1h7.5L12 4.5zM11 5L8 2H1v12h10V5z"/></svg>    

<img alt="" class="spinner" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" width="16" />    

</td>    

<td class="content">    

<span class="css-truncate css-truncate-target"><a href="/nswbmw/N-blog/blob/master/package.json" class="js-navigation-open" id="b9cfc7f2cdf78a7f4b91a753d10865a2-4cd153e8a1d060fc896bf4a916c58adc7c5729e6" title="package.json">package.json</a></span>    

</td>    

<td class="message">    

<span class="css-truncate css-truncate-target">    

<a href="/nswbmw/N-blog/commit/74eeadeeb327a2f26391f85d00010af3f9aef2c4" class="message" data-pjax="true" title="upgrage config-lite@2 &amp; fix #348">upgrage config-lite@2 &amp;</a> <span class="issue-keyword tooltipped tooltipped-s" aria-label="This commit closes issue #348."><a href="/nswbmw/N-blog/commit/74eeadeeb327a2f26391f85d00010af3f9aef2c4" class="message" data-pjax="true" title="upgrage config-lite@2 &amp; fix #348">fix</a></span> <a href="https://github.com/nswbmw/N-blog/issues/348" class="issue-link js-issue-link" data-url="https://github.com/nswbmw/N-blog/issues/348" data-id="223237689" data-error-text="Failed to load issue title" data-permission-text="Issue title is private">#348</a>    

</span>    

</td>    

<td class="age">    

<span class="css-truncate css-truncate-target"><time-ago datetime="2017-04-21T05:21:52Z">Apr 21, 2017</time-ago></span>    

</td>    

</tr>    

</tbody>    

</table>    

</div>    

<div id="readme" class="readme boxed-group clearfix announce instapaper_body md">    

<h3>    

<svg aria-hidden="true" class="octicon octicon-book" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M3 5h4v1H3V5zm0 3h4V7H3v1zm0 2h4V9H3v1zm11-5h-4v1h4V5zm0 2h-4v1h4V7zm0 2h-4v1h4V9zm2-6v9c0 .55-.45 1-1 1H9.5l-1 1-1-1H2c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1h5.5l1 1 1-1H15c.55 0 1 .45 1 1zm-8 .5L7.5 3H2v9h6V3.5zm7-.5H9.5l-.5.5V12h6V3z"/></svg>    

README.md    

</h3>    

<article class="markdown-body entry-content" itemprop="text"><h2><a id="user-content-n-blog" class="anchor" href="#n-blog" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>N-blog</h2>    

<p>使用 Express + MongoDB 搭建多人博客</p>    

<h2><a id="user-content-开发环境" class="anchor" href="#开发环境" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>开发环境</h2>    

<ul>    

<li>Node.js: <code>6.9.1</code></li>    

<li>MongoDB: <code>3.2.10</code></li>    

<li>Express: <code>4.14.0</code></li>    

</ul>    

<h2><a id="user-content-目录" class="anchor" href="#目录" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>目录</h2>    

<ul>    

<li>开发环境搭建    

<ul>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/1.1%20Node.js%20%E7%9A%84%E5%AE%89%E8%A3%85%E4%B8%8E%E4%BD%BF%E7%94%A8.md">Node.js 的安装与使用</a>    

<ul>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/1.1%20Node.js%20%E7%9A%84%E5%AE%89%E8%A3%85%E4%B8%8E%E4%BD%BF%E7%94%A8.md#111-%E5%AE%89%E8%A3%85-nodejs">安装 Node.js</a></li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/1.1%20Node.js%20%E7%9A%84%E5%AE%89%E8%A3%85%E4%B8%8E%E4%BD%BF%E7%94%A8.md#112-n-%E5%92%8C-nvm">n 和 nvm</a></li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/1.1%20Node.js%20%E7%9A%84%E5%AE%89%E8%A3%85%E4%B8%8E%E4%BD%BF%E7%94%A8.md#113-nrm">nrm</a></li>    

</ul>    

</li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/1.2%20MongoDB%20%E7%9A%84%E5%AE%89%E8%A3%85%E4%B8%8E%E4%BD%BF%E7%94%A8.md">MongoDB 的安装与使用</a>    

<ul>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/1.2%20MongoDB%20%E7%9A%84%E5%AE%89%E8%A3%85%E4%B8%8E%E4%BD%BF%E7%94%A8.md#121-%E5%AE%89%E8%A3%85%E4%B8%8E%E5%90%AF%E5%8A%A8-mongodb">安装与启动 MongoDB</a></li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/1.2%20MongoDB%20%E7%9A%84%E5%AE%89%E8%A3%85%E4%B8%8E%E4%BD%BF%E7%94%A8.md#122-robomongo-%E5%92%8C-mongochef">Robomongo 和 MongoChef</a></li>    

</ul>    

</li>    

</ul>    

</li>    

<li>Node.js 知识点讲解    

<ul>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/2.1%20require.md">require</a></li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/2.2%20exports%20%E5%92%8C%20module.exports.md">exports 和 module.exports</a></li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/2.3%20Promise.md">Promise</a></li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/2.4%20%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F.md">环境变量</a></li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/2.5%20package.json.md">packge.json</a>    

<ul>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/2.5%20package.json.md#251-semver">semver</a></li>    

</ul>    

</li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/2.6%20npm%20%E4%BD%BF%E7%94%A8%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A1%B9.md">npm 使用注意事项</a>    

<ul>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/2.6%20npm%20%E4%BD%BF%E7%94%A8%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A1%B9.md#261-npm-init">npm init</a></li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/2.6%20npm%20%E4%BD%BF%E7%94%A8%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A1%B9.md#262-npm-install">npm install</a></li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/2.6%20npm%20%E4%BD%BF%E7%94%A8%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A1%B9.md#263-npm-scripts">npm scripts</a></li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/2.6%20npm%20%E4%BD%BF%E7%94%A8%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A1%B9.md#264-npm-shrinkwrap">npm shrinkwrap </a></li>    

</ul>    

</li>    

</ul>    

</li>    

<li>Hello, Express    

<ul>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/3.1%20%E5%88%9D%E5%A7%8B%E5%8C%96%E4%B8%80%E4%B8%AA%20Express%20%E9%A1%B9%E7%9B%AE.md">初始化一个 Express 项目</a>    

<ul>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/3.1%20%E5%88%9D%E5%A7%8B%E5%8C%96%E4%B8%80%E4%B8%AA%20Express%20%E9%A1%B9%E7%9B%AE.md#311-supervisor">supervisor</a></li>    

</ul>    

</li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/3.2%20%E8%B7%AF%E7%94%B1.md">路由</a>    

<ul>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/3.2%20%E8%B7%AF%E7%94%B1.md#321-expressrouter">express.Router</a></li>    

</ul>    

</li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/3.3%20%E6%A8%A1%E6%9D%BF%E5%BC%95%E6%93%8E.md">模板引擎</a>    

<ul>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/3.3%20%E6%A8%A1%E6%9D%BF%E5%BC%95%E6%93%8E.md#331-ejs">ejs</a></li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/3.3%20%E6%A8%A1%E6%9D%BF%E5%BC%95%E6%93%8E.md#332-includes">includes</a></li>    

</ul>    

</li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/3.4%20Express%20%E6%B5%85%E6%9E%90.md">Express 浅析</a>    

<ul>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/3.4%20Express%20%E6%B5%85%E6%9E%90.md#341-%E4%B8%AD%E9%97%B4%E4%BB%B6%E4%B8%8E-next">中间件与 next</a></li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/3.4%20Express%20%E6%B5%85%E6%9E%90.md#342-%E9%94%99%E8%AF%AF%E5%A4%84%E7%90%86">错误处理</a></li>    

</ul>    

</li>    

</ul>    

</li>    

<li>一个简单的博客    

<ul>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/4.1%20%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83.md">开发环境</a></li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/4.2%20%E5%87%86%E5%A4%87%E5%B7%A5%E4%BD%9C.md">准备工作</a>    

<ul>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/4.2%20%E5%87%86%E5%A4%87%E5%B7%A5%E4%BD%9C.md#421-%E7%9B%AE%E5%BD%95%E7%BB%93%E6%9E%84">目录结构</a></li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/4.2%20%E5%87%86%E5%A4%87%E5%B7%A5%E4%BD%9C.md#422-%E5%AE%89%E8%A3%85%E4%BE%9D%E8%B5%96%E6%A8%A1%E5%9D%97">安装依赖模块</a></li>    

</ul>    

</li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/4.3%20%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6.md">配置文件</a>    

<ul>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/4.3%20%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6.md#431-config-lite">config-lite</a></li>    

</ul>    

</li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/4.4%20%E5%8A%9F%E8%83%BD%E8%AE%BE%E8%AE%A1.md">功能设计</a>    

<ul>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/4.4%20%E5%8A%9F%E8%83%BD%E8%AE%BE%E8%AE%A1.md#441-%E5%8A%9F%E8%83%BD%E4%B8%8E%E8%B7%AF%E7%94%B1%E8%AE%BE%E8%AE%A1">功能与路由设计</a></li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/4.4%20%E5%8A%9F%E8%83%BD%E8%AE%BE%E8%AE%A1.md#442-%E4%BC%9A%E8%AF%9D">会话</a></li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/4.4%20%E5%8A%9F%E8%83%BD%E8%AE%BE%E8%AE%A1.md#443-%E9%A1%B5%E9%9D%A2%E9%80%9A%E7%9F%A5">页面通知</a></li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/4.4%20%E5%8A%9F%E8%83%BD%E8%AE%BE%E8%AE%A1.md#444-%E6%9D%83%E9%99%90%E6%8E%A7%E5%88%B6">权限控制</a></li>    

</ul>    

</li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/4.5%20%E9%A1%B5%E9%9D%A2%E8%AE%BE%E8%AE%A1.md">页面设计</a>    

<ul>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/4.5%20%E9%A1%B5%E9%9D%A2%E8%AE%BE%E8%AE%A1.md#451-%E7%BB%84%E4%BB%B6">组件</a></li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/4.5%20%E9%A1%B5%E9%9D%A2%E8%AE%BE%E8%AE%A1.md#452-applocals-%E5%92%8C-reslocals">app.locals 和 res.locals</a></li>    

</ul>    

</li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/4.6%20%E8%BF%9E%E6%8E%A5%E6%95%B0%E6%8D%AE%E5%BA%93.md">连接数据库</a>    

<ul>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/4.6%20%E8%BF%9E%E6%8E%A5%E6%95%B0%E6%8D%AE%E5%BA%93.md#461-%E4%B8%BA%E4%BB%80%E4%B9%88%E4%BD%BF%E7%94%A8-mongolass">为什么使用 Mongolass</a></li>    

</ul>    

</li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/4.7%20%E6%B3%A8%E5%86%8C.md">注册</a>    

<ul>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/4.7%20%E6%B3%A8%E5%86%8C.md#471-%E7%94%A8%E6%88%B7%E6%A8%A1%E5%9E%8B%E8%AE%BE%E8%AE%A1">用户模型设计</a></li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/4.7%20%E6%B3%A8%E5%86%8C.md#472-%E6%B3%A8%E5%86%8C%E9%A1%B5">注册页</a></li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/4.7%20%E6%B3%A8%E5%86%8C.md#473-%E6%B3%A8%E5%86%8C%E4%B8%8E%E6%96%87%E4%BB%B6%E4%B8%8A%E4%BC%A0">注册与文件上传</a></li>    

</ul>    

</li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/4.8%20%E7%99%BB%E5%87%BA%E4%B8%8E%E7%99%BB%E5%BD%95.md">登出与登录</a>    

<ul>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/4.8%20%E7%99%BB%E5%87%BA%E4%B8%8E%E7%99%BB%E5%BD%95.md#481-%E7%99%BB%E5%87%BA">登出</a></li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/4.8%20%E7%99%BB%E5%87%BA%E4%B8%8E%E7%99%BB%E5%BD%95.md#482-%E7%99%BB%E5%BD%95%E9%A1%B5">登录页</a></li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/4.8%20%E7%99%BB%E5%87%BA%E4%B8%8E%E7%99%BB%E5%BD%95.md#483-%E7%99%BB%E5%BD%95">登录</a></li>    

</ul>    

</li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/4.9%20%E6%96%87%E7%AB%A0.md">文章</a>    

<ul>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/4.9%20%E6%96%87%E7%AB%A0.md#491-%E6%96%87%E7%AB%A0%E6%A8%A1%E5%9E%8B%E8%AE%BE%E8%AE%A1">文章模型设计</a></li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/4.9%20%E6%96%87%E7%AB%A0.md#492-%E5%8F%91%E8%A1%A8%E6%96%87%E7%AB%A0">发表文章</a></li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/4.9%20%E6%96%87%E7%AB%A0.md#493-%E4%B8%BB%E9%A1%B5%E4%B8%8E%E6%96%87%E7%AB%A0%E9%A1%B5">主页与文章页</a></li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/4.9%20%E6%96%87%E7%AB%A0.md#494-%E7%BC%96%E8%BE%91%E4%B8%8E%E5%88%A0%E9%99%A4%E6%96%87%E7%AB%A0">编辑与删除文章</a></li>    

</ul>    

</li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/4.10%20%E7%95%99%E8%A8%80.md">留言</a>    

<ul>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/4.10%20%E7%95%99%E8%A8%80.md#4101-%E7%95%99%E8%A8%80%E6%A8%A1%E5%9E%8B%E8%AE%BE%E8%AE%A1">留言模型设计</a></li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/4.10%20%E7%95%99%E8%A8%80.md#4102-%E6%98%BE%E7%A4%BA%E7%95%99%E8%A8%80">显示留言</a></li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/4.10%20%E7%95%99%E8%A8%80.md#4103-%E5%8F%91%E8%A1%A8%E4%B8%8E%E5%88%A0%E9%99%A4%E7%95%99%E8%A8%80">发表与删除留言</a></li>    

</ul>    

</li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/4.11%20404%20%E9%A1%B5%E9%9D%A2.md">404页面</a></li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/4.12%20%E9%94%99%E8%AF%AF%E9%A1%B5%E9%9D%A2.md">错误页面</a></li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/4.13%20%E6%97%A5%E5%BF%97.md">日志</a>    

<ul>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/4.13%20%E6%97%A5%E5%BF%97.md#4131-winston-%E5%92%8C-express-winston">winston 和 express-winston</a></li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/4.13%20%E6%97%A5%E5%BF%97.md#4132-gitignore">.gitignore</a></li>    

</ul>    

</li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/4.14%20%E6%B5%8B%E8%AF%95.md">测试</a>    

<ul>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/4.14%20%E6%B5%8B%E8%AF%95.md#4141-mocha-%E5%92%8C-supertest">mocha 和 supertest</a></li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/4.14%20%E6%B5%8B%E8%AF%95.md#4142-%E6%B5%8B%E8%AF%95%E8%A6%86%E7%9B%96%E7%8E%87">测试覆盖率</a></li>    

</ul>    

</li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/4.15%20%E9%83%A8%E7%BD%B2.md">部署</a>    

<ul>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/4.15%20%E9%83%A8%E7%BD%B2.md#4151-%E7%94%B3%E8%AF%B7-mlab">申请 MLab</a></li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/4.15%20%E9%83%A8%E7%BD%B2.md#4152-pm2">pm2</a></li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/4.15%20%E9%83%A8%E7%BD%B2.md#4152-%E9%83%A8%E7%BD%B2%E5%88%B0-heroku">部署到 Heroku</a></li>    

<li><a href="https://github.com/nswbmw/N-blog/blob/master/book/4.15%20%E9%83%A8%E7%BD%B2.md#4153-%E9%83%A8%E7%BD%B2%E5%88%B0-ucloud">部署到 UCloud</a></li>    

</ul>    

</li>    

</ul>    

</li>    

</ul>    

<h2><a id="user-content-gitbook" class="anchor" href="#gitbook" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>GitBook</h2>    

<p><a href="https://maninboat.gitbooks.io/n-blog/content/">GitBook 在线阅读</a></p>    

<h2><a id="user-content-捐赠" class="anchor" href="#捐赠" aria-hidden="true"><svg aria-hidden="true" class="octicon octicon-link" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>捐赠</h2>    

<p>您的捐赠,是我持续开源的动力。</p>    

<table>    

<thead>    

<tr>    

<th>支付宝</th>    

<th>微信</th>    

</tr>    

</thead>    

<tbody>    

<tr>    

<td><a href="/nswbmw/N-blog/blob/master/public/alipay.png" target="_blank"><img src="/nswbmw/N-blog/raw/master/public/alipay.png" alt="" style="max-width:100%;"></a></td>    

<td><a href="/nswbmw/N-blog/blob/master/public/wechat.jpeg" target="_blank"><img src="/nswbmw/N-blog/raw/master/public/wechat.jpeg" alt="" style="max-width:100%;"></a></td>    

</tr></tbody></table>    

</article>    

</div>    

</div>    

<div class="modal-backdrop js-touch-events"></div>    

</div>    

</div>    

</div>    

</div>    

<div class="container-lg site-footer-container">    

<div class="site-footer " role="contentinfo">    

<ul class="site-footer-links float-right">    

<li><a href="https://github.com/contact" data-ga-click="Footer, go to contact, text:contact">Contact GitHub</a></li>    

<li><a href="https://developer.github.com" data-ga-click="Footer, go to api, text:api">API</a></li>    

<li><a href="https://training.github.com" data-ga-click="Footer, go to training, text:training">Training</a></li>    

<li><a href="https://shop.github.com" data-ga-click="Footer, go to shop, text:shop">Shop</a></li>    

<li><a href="https://github.com/blog" data-ga-click="Footer, go to blog, text:blog">Blog</a></li>    

<li><a href="https://github.com/about" data-ga-click="Footer, go to about, text:about">About</a></li>    

</ul>    

<a href="https://github.com" aria-label="Homepage" class="site-footer-mark" title="GitHub">    

<svg aria-hidden="true" class="octicon octicon-mark-github" height="24" version="1.1" viewBox="0 0 16 16" width="24"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"/></svg>    

</a>    

<ul class="site-footer-links">    

<li>&copy; 2017 <span title="0.17480s from unicorn-2647844223-s8l7l">GitHub</span>, Inc.</li>    

<li><a href="https://github.com/site/terms" data-ga-click="Footer, go to terms, text:terms">Terms</a></li>    

<li><a href="https://github.com/site/privacy" data-ga-click="Footer, go to privacy, text:privacy">Privacy</a></li>    

<li><a href="https://github.com/security" data-ga-click="Footer, go to security, text:security">Security</a></li>    

<li><a href="https://status.github.com/" data-ga-click="Footer, go to status, text:status">Status</a></li>    

<li><a href="https://help.github.com" data-ga-click="Footer, go to help, text:help">Help</a></li>    

</ul>    

</div>    

</div>    

<div id="ajax-error-message" class="ajax-error-message flash flash-error">    

<svg aria-hidden="true" class="octicon octicon-alert" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M8.865 1.52c-.18-.31-.51-.5-.87-.5s-.69.19-.87.5L.275 13.5c-.18.31-.18.69 0 1 .19.31.52.5.87.5h13.7c.36 0 .69-.19.86-.5.17-.31.18-.69.01-1L8.865 1.52zM8.995 13h-2v-2h2v2zm0-3h-2V6h2v4z"/></svg>    

<button type="button" class="flash-close js-flash-close js-ajax-error-dismiss" aria-label="Dismiss error">    

<svg aria-hidden="true" class="octicon octicon-x" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48z"/></svg>    

</button>    

You can't perform that action at this time.    

</div>    

<div class="js-stale-session-flash stale-session-flash flash flash-warn flash-banner d-none">    

<svg aria-hidden="true" class="octicon octicon-alert" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M8.865 1.52c-.18-.31-.51-.5-.87-.5s-.69.19-.87.5L.275 13.5c-.18.31-.18.69 0 1 .19.31.52.5.87.5h13.7c.36 0 .69-.19.86-.5.17-.31.18-.69.01-1L8.865 1.52zM8.995 13h-2v-2h2v2zm0-3h-2V6h2v4z"/></svg>    

<span class="signed-in-tab-flash">You signed in with another tab or window. <a href="">Reload</a> to refresh your session.</span>    

<span class="signed-out-tab-flash">You signed out in another tab or window. <a href="">Reload</a> to refresh your session.</span>    

</div>    

<div class="facebox" id="facebox" style="display:none;">    

<div class="facebox-popup">    

<div class="facebox-content" role="dialog" aria-labelledby="facebox-header" aria-describedby="facebox-description">    

</div>    

<button type="button" class="facebox-close js-facebox-close" aria-label="Close modal">    

<svg aria-hidden="true" class="octicon octicon-x" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48z"/></svg>    

</button>    

</div>    

</div>    

</body>    

</html>    



声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议