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="">
|
36 |
|
37 | <a href="index.html">开始</a>
|
38 |
|
39 | </li>
|
40 |
|
41 | <li class="active">
|
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 | <ul>
|
80 | <li><p>保证现有用户的操作习惯,所以要改造<code>npminstall</code>输入方式为"yon install"</p>
|
81 | </li>
|
82 | <li><p>增加ip识别,确保自动切换不同镜像</p>
|
83 | </li>
|
84 | <li><p>实现命令</p>
|
85 | <pre><code>// 安装命令
|
86 | yon install gulp --save
|
87 | yon install gulp -S
|
88 | yon install gulp --global
|
89 | yon install gulp -G
|
90 | yon install gulp --save-dev
|
91 | yon install gulp -D
|
92 |
|
93 | // 版本
|
94 | yon --version
|
95 | yon -v
|
96 |
|
97 | // help
|
98 | yon --help
|
99 | yon -h
|
100 |
|
101 | // 默认
|
102 | yon install
|
103 | </code></pre>
|
104 | </li>
|
105 | </ul>
|
106 | <h2 id="已完成内容">已完成内容</h2>
|
107 | <ul>
|
108 | <li><p>完成版本识别</p>
|
109 | <pre><code>yon --version
|
110 | yon -v
|
111 | </code></pre>
|
112 | </li>
|
113 | <li><p>完成帮助</p>
|
114 | <pre><code>yon
|
115 | yon -h
|
116 | yon --help
|
117 | </code></pre>
|
118 | </li>
|
119 | <li><p>实现了<code>cnpm</code>与<code>npm</code>镜像的切换,但是用友的镜像存在以下问题:</p>
|
120 | <ul>
|
121 | <li>请求最新版本<code>latest</code>时,获取页面为404</li>
|
122 | <li>请求范围版本号(<code>>=1.2.0 <=2.0.0</code>)时,获取页面为404</li>
|
123 | <li>镜像采用了nexus oss管理:优点可以做代理,保证只需下载一份,缺陷如上</li>
|
124 | <li>使用了<code>npminstall</code>作为依赖,阿里做了处理,以致出现以上情况</li>
|
125 | <li>故准备在<code>relase</code>分支发布折中版本:
|
126 | <ul>
|
127 | <li>使用<code>yon install</code>包装命令</li>
|
128 | <li>创建文件,写入是否能ping通内网地址及可选镜像地址</li>
|
129 | <li>读取文件,更改镜像</li>
|
130 | </ul>
|
131 | </li>
|
132 | </ul>
|
133 | </li>
|
134 | </ul>
|
135 |
|
136 | </div>
|
137 | <div class="col-md-3" role="complementary">
|
138 | <nav class="docs-sidebar hidden-print hidden-xs hidden-sm">
|
139 | <ul class="nav docs-sidenav">
|
140 |
|
141 |
|
142 | <li>
|
143 |
|
144 | <a href="#用友镜像初探">用友镜像初探</a>
|
145 |
|
146 | </li>
|
147 |
|
148 |
|
149 | <li>
|
150 |
|
151 | <a href="#已完成内容">已完成内容</a>
|
152 |
|
153 | </li>
|
154 |
|
155 |
|
156 | </ul>
|
157 | </nav>
|
158 | </div>
|
159 | </div>
|
160 |
|
161 |
|
162 | </div>
|
163 |
|
164 |
|
165 |
|
166 | <footer class="docs-footer" role="contentinfo">
|
167 | <div class="container">
|
168 | <p>Made By YonYouFED. © 2014 - 2016</p>
|
169 | </div>
|
170 | </footer>
|
171 |
|
172 | <script src="source/jquery.min.js"></script>
|
173 | <script src="source/bootstrap.min.js"></script>
|
174 | <script src="source/docs.min.js"></script>
|
175 | <script src="source/highlight.min.js"></script>
|
176 | <script>
|
177 | $(document).ready(function () {
|
178 | $('code').each(function (i, block) {
|
179 | if (block.innerHTML.indexOf('\n') != -1) {
|
180 | var pn = block.parentNode;
|
181 | if (pn.tagName.toUpperCase() == 'PRE') {
|
182 | try {
|
183 | hljs.highlightBlock(block);
|
184 | } catch (e) {
|
185 | }
|
186 | } else {
|
187 | pn.innerHTML = '<pre><code>' + block.innerHTML + '</code></pre>';
|
188 | try {
|
189 | hljs.highlightBlock(pn.childNodes[0].childNodes[0]);
|
190 | } catch (e) {
|
191 | }
|
192 | }
|
193 | }
|
194 | });
|
195 |
|
196 | var winHeight = $(window).height() - 40,
|
197 | sidebar = $('.docs-sidebar');
|
198 |
|
199 | if (sidebar.height() > winHeight) {
|
200 |
|
201 | sidebar.css('max-height', winHeight + 'px');
|
202 | sidebar.css('overflow', 'scroll');
|
203 |
|
204 | var activeMenu,
|
205 | barScroll = false;
|
206 |
|
207 | sidebar.on('mouseover', function () {
|
208 | barScroll = true;
|
209 | });
|
210 |
|
211 | sidebar.on('mouseout', function () {
|
212 | barScroll = false;
|
213 | });
|
214 |
|
215 | $(window).on('scroll', function (e) {
|
216 | if (!barScroll) {
|
217 | var activeItem = $('.docs-sidebar li.active a');
|
218 | if (activeItem.length) {
|
219 | if (!activeMenu || (activeMenu.attr('href') != activeItem.attr('href'))) {
|
220 | activeMenu = activeItem;
|
221 | var top = activeMenu.offset().top - sidebar.offset().top;
|
222 | if (top < 0) {
|
223 | sidebar.scrollTop(sidebar.scrollTop() + top);
|
224 | } else if (top > winHeight - 30) {
|
225 | sidebar.scrollTop(sidebar.scrollTop() + top - winHeight + 30);
|
226 | }
|
227 | }
|
228 | }
|
229 | }
|
230 | });
|
231 | }
|
232 | });
|
233 | </script>
|
234 | </body>
|
235 | </html>
|