1 | <!DOCTYPE html>
|
2 | <html lang="zh-CN">
|
3 | <head>
|
4 | <meta charset="utf-8">
|
5 | <meta name="viewport" content="width=device-width, initial-scale=1">
|
6 | <title>Yon 开始</title>
|
7 | <link rel="stylesheet" href="source/app.css"/>
|
8 | <link rel="stylesheet" href="source/highlight.min.css">
|
9 | </head>
|
10 | <body>
|
11 | <a id="skippy" class="sr-only sr-only-focusable" href="#content">
|
12 | <div class="container"><span class="skiplink-text">Skip to main content</span></div>
|
13 | </a>
|
14 |
|
15 |
|
16 |
|
17 | <header class="navbar navbar-static-top docs-nav" id="top" role="banner">
|
18 | <div class="container">
|
19 | <div class="navbar-header">
|
20 | <button class="navbar-toggle collapsed" type="button" data-toggle="collapse" data-target="#bs-navbar"
|
21 | aria-controls="bs-navbar" aria-expanded="false">
|
22 | <span class="sr-only">Toggle navigation</span>
|
23 | <span class="icon-bar"></span>
|
24 | <span class="icon-bar"></span>
|
25 | <span class="icon-bar"></span>
|
26 | </button>
|
27 |
|
28 | <a href="http://tinper.org/" class="navbar-brand">tinper</a>
|
29 |
|
30 | </div>
|
31 | <nav id="bs-navbar" class="collapse navbar-collapse">
|
32 | <ul class="nav navbar-nav navbar-left">
|
33 |
|
34 |
|
35 | <li class="active">
|
36 |
|
37 | <a href="index.html">开始</a>
|
38 |
|
39 | </li>
|
40 |
|
41 | <li class="">
|
42 |
|
43 | <a href="progress.html">进度</a>
|
44 |
|
45 | </li>
|
46 |
|
47 | <li class="">
|
48 |
|
49 | <a href="release.html">版本</a>
|
50 |
|
51 | </li>
|
52 |
|
53 |
|
54 | </ul>
|
55 | </nav>
|
56 | </div>
|
57 | </header>
|
58 |
|
59 |
|
60 |
|
61 | <div class="docs-header" id="content" style="margin-bottom:0">
|
62 | <div class="container">
|
63 | <h1>Yon</h1>
|
64 | <p>开始</p>
|
65 | </div>
|
66 | </div>
|
67 |
|
68 |
|
69 | <header style="height:20px"></header>
|
70 |
|
71 |
|
72 | <div class="container docs-container">
|
73 |
|
74 |
|
75 | <div class="row">
|
76 | <div class="col-md-9 markdown-body" role="main">
|
77 |
|
78 | <h2 id="概述">概述</h2>
|
79 | <p><code>yon</code>为<code>node</code>在公司内部的镜像仓库配套的命令行工具,根据镜像代理,嵌套<code>npm</code>,关于镜像和命令行工具说明如下:</p>
|
80 | <ul>
|
81 | <li>镜像
|
82 | <ul>
|
83 | <li>使用<code>Nexus Repository OSS</code>搭建<code>npm</code>镜像</li>
|
84 | <li>镜像源使用淘宝<code>cnpm</code>镜像库</li>
|
85 | <li>镜像无需同步,下载即缓存,实现一次下载,全员共享</li>
|
86 | </ul>
|
87 | </li>
|
88 | <li>命令行
|
89 | <ul>
|
90 | <li>实现自动根据IP选择下载源
|
91 | <ul>
|
92 | <li>内网自动使用公司镜像</li>
|
93 | <li>外网自动使用淘宝镜像</li>
|
94 | <li>不对<code>npm</code>的镜像源入侵</li>
|
95 | </ul>
|
96 | </li>
|
97 | </ul>
|
98 | </li>
|
99 | </ul>
|
100 | <p>总体实现:公司内通过使用<code>yon</code>,实现快速下载包,减少下载等待时间</p>
|
101 | <h2 id="安装">安装</h2>
|
102 | <pre><code>npm install yon -g
|
103 | </code></pre>
|
104 | <h2 id="使用">使用</h2>
|
105 | <pre><code># 安装(install相关命令均支持)
|
106 | yon install xxx --option
|
107 |
|
108 | # 帮助
|
109 | yon 或 yon -h 或 yon --help
|
110 |
|
111 | # 版本
|
112 | yon -v 或 yon --version
|
113 | </code></pre>
|
114 | <ul>
|
115 | <li>其他命令暂不准备实现</li>
|
116 | </ul>
|
117 |
|
118 | </div>
|
119 | <div class="col-md-3" role="complementary">
|
120 | <nav class="docs-sidebar hidden-print hidden-xs hidden-sm">
|
121 | <ul class="nav docs-sidenav">
|
122 |
|
123 |
|
124 | <li>
|
125 |
|
126 | <a href="#概述">概述</a>
|
127 |
|
128 | </li>
|
129 |
|
130 |
|
131 | <li>
|
132 |
|
133 | <a href="#安装">安装</a>
|
134 |
|
135 | </li>
|
136 |
|
137 |
|
138 | <li>
|
139 |
|
140 | <a href="#使用">使用</a>
|
141 |
|
142 | </li>
|
143 |
|
144 |
|
145 | </ul>
|
146 | </nav>
|
147 | </div>
|
148 | </div>
|
149 |
|
150 |
|
151 | </div>
|
152 |
|
153 |
|
154 |
|
155 | <footer class="docs-footer" role="contentinfo">
|
156 | <div class="container">
|
157 | <p>Made By YonYouFED. © 2014 - 2016</p>
|
158 | </div>
|
159 | </footer>
|
160 |
|
161 | <script src="source/jquery.min.js"></script>
|
162 | <script src="source/bootstrap.min.js"></script>
|
163 | <script src="source/docs.min.js"></script>
|
164 | <script src="source/highlight.min.js"></script>
|
165 | <script>
|
166 | $(document).ready(function () {
|
167 | $('code').each(function (i, block) {
|
168 | if (block.innerHTML.indexOf('\n') != -1) {
|
169 | var pn = block.parentNode;
|
170 | if (pn.tagName.toUpperCase() == 'PRE') {
|
171 | try {
|
172 | hljs.highlightBlock(block);
|
173 | } catch (e) {
|
174 | }
|
175 | } else {
|
176 | pn.innerHTML = '<pre><code>' + block.innerHTML + '</code></pre>';
|
177 | try {
|
178 | hljs.highlightBlock(pn.childNodes[0].childNodes[0]);
|
179 | } catch (e) {
|
180 | }
|
181 | }
|
182 | }
|
183 | });
|
184 |
|
185 | var winHeight = $(window).height() - 40,
|
186 | sidebar = $('.docs-sidebar');
|
187 |
|
188 | if (sidebar.height() > winHeight) {
|
189 |
|
190 | sidebar.css('max-height', winHeight + 'px');
|
191 | sidebar.css('overflow', 'scroll');
|
192 |
|
193 | var activeMenu,
|
194 | barScroll = false;
|
195 |
|
196 | sidebar.on('mouseover', function () {
|
197 | barScroll = true;
|
198 | });
|
199 |
|
200 | sidebar.on('mouseout', function () {
|
201 | barScroll = false;
|
202 | });
|
203 |
|
204 | $(window).on('scroll', function (e) {
|
205 | if (!barScroll) {
|
206 | var activeItem = $('.docs-sidebar li.active a');
|
207 | if (activeItem.length) {
|
208 | if (!activeMenu || (activeMenu.attr('href') != activeItem.attr('href'))) {
|
209 | activeMenu = activeItem;
|
210 | var top = activeMenu.offset().top - sidebar.offset().top;
|
211 | if (top < 0) {
|
212 | sidebar.scrollTop(sidebar.scrollTop() + top);
|
213 | } else if (top > winHeight - 30) {
|
214 | sidebar.scrollTop(sidebar.scrollTop() + top - winHeight + 30);
|
215 | }
|
216 | }
|
217 | }
|
218 | }
|
219 | });
|
220 | }
|
221 | });
|
222 | </script>
|
223 | </body>
|
224 | </html>
|