锘??xml version="1.0" encoding="utf-8" standalone="yes"?>av在线免费播放网站,亚洲激情国产精品,亚洲午夜一区二区http://www.aygfsteel.com/wangxinsh55/category/54900.htmlzh-cnTue, 01 Nov 2016 09:50:47 GMTTue, 01 Nov 2016 09:50:47 GMT60nodejs灝嗗璞¤漿鎹㈡垚瀛楃涓蹭唬鐮?鍔ㄦ佹墽琛屽瓧絎︿覆浠g爜,requirejs浣跨敤r.js鎵撳寘鏃跺姩鎬佺敓鎴愰厤緗枃浠?/title><link>http://www.aygfsteel.com/wangxinsh55/archive/2016/11/01/431944.html</link><dc:creator>SIMONE</dc:creator><author>SIMONE</author><pubDate>Tue, 01 Nov 2016 08:24:00 GMT</pubDate><guid>http://www.aygfsteel.com/wangxinsh55/archive/2016/11/01/431944.html</guid><wfw:comment>http://www.aygfsteel.com/wangxinsh55/comments/431944.html</wfw:comment><comments>http://www.aygfsteel.com/wangxinsh55/archive/2016/11/01/431944.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/wangxinsh55/comments/commentRss/431944.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/wangxinsh55/services/trackbacks/431944.html</trackback:ping><description><![CDATA[<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #0000FF; ">var</span><span style="color: #000000; "> path </span><span style="color: #000000; ">=</span><span style="color: #000000; "> require('path');<br /> </span><span style="color: #0000FF; ">var</span><span style="color: #000000; "> fs </span><span style="color: #000000; ">=</span><span style="color: #000000; "> require('fs');<br /> </span><span style="color: #0000FF; ">var</span><span style="color: #000000; "> vm </span><span style="color: #000000; ">=</span><span style="color: #000000; "> require('vm');<br /> </span><span style="color: #0000FF; ">var</span><span style="color: #000000; "> os </span><span style="color: #000000; ">=</span><span style="color: #000000; "> require('os');<br /> <br /> </span><span style="color: #008000; ">/*</span><span style="color: #008000; ">*<br />  * 鏍煎紡鍖栫緝榪涚殑涓暟<br />  </span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br /> </span><span style="color: #0000FF; ">function</span><span style="color: #000000; "> toIndent(indent) {<br />     </span><span style="color: #0000FF; ">var</span><span style="color: #000000; "> s </span><span style="color: #000000; ">=</span><span style="color: #000000; "> [];<br />     </span><span style="color: #0000FF; ">for</span><span style="color: #000000; "> (</span><span style="color: #0000FF; ">var</span><span style="color: #000000; "> i </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">0</span><span style="color: #000000; ">; i </span><span style="color: #000000; "><</span><span style="color: #000000; "> indent; i</span><span style="color: #000000; ">++</span><span style="color: #000000; ">) {<br />         s.push('\t');<br />     }<br />     </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> s.join('');<br /> }<br /> <br /> </span><span style="color: #008000; ">/*</span><span style="color: #008000; ">*<br />  * 灝嗘暟緇勫璞¤漿鎹㈡垚鍘熷瀛楃涓?br />  </span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br /> </span><span style="color: #0000FF; ">function</span><span style="color: #000000; "> array2string(arr, indent) {<br />     </span><span style="color: #0000FF; ">var</span><span style="color: #000000; "> s </span><span style="color: #000000; ">=</span><span style="color: #000000; "> ['[', os.EOL], hasProp </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">false</span><span style="color: #000000; ">;<br />     </span><span style="color: #0000FF; ">for</span><span style="color: #000000; "> (</span><span style="color: #0000FF; ">var</span><span style="color: #000000; "> i </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">0</span><span style="color: #000000; ">; i </span><span style="color: #000000; "><</span><span style="color: #000000; "> arr.length; i</span><span style="color: #000000; ">++</span><span style="color: #000000; ">) {<br />         </span><span style="color: #0000FF; ">if</span><span style="color: #000000; "> (</span><span style="color: #000000; ">!</span><span style="color: #000000; ">hasProp) {<br />             hasProp </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">true</span><span style="color: #000000; ">;<br />         }<br /> <br />         s.push(toIndent(indent </span><span style="color: #000000; ">+</span><span style="color: #000000; "> </span><span style="color: #000000; ">1</span><span style="color: #000000; ">));<br /> <br />         </span><span style="color: #0000FF; ">var</span><span style="color: #000000; "> item </span><span style="color: #000000; ">=</span><span style="color: #000000; "> arr[i];<br />         </span><span style="color: #0000FF; ">var</span><span style="color: #000000; "> itemtp </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">typeof</span><span style="color: #000000; ">(item);<br />         </span><span style="color: #0000FF; ">if</span><span style="color: #000000; "> (itemtp </span><span style="color: #000000; ">===</span><span style="color: #000000; "> 'object') {<br />             </span><span style="color: #0000FF; ">if</span><span style="color: #000000; "> (item </span><span style="color: #0000FF; ">instanceof</span><span style="color: #000000; "> Array) {<br />                 s.push(array2string(item, indent </span><span style="color: #000000; ">+</span><span style="color: #000000; "> </span><span style="color: #000000; ">1</span><span style="color: #000000; ">));<br />             } </span><span style="color: #0000FF; ">else</span><span style="color: #000000; "> {<br />                 s.splice(s.length </span><span style="color: #000000; ">-</span><span style="color: #000000; "> </span><span style="color: #000000; ">2</span><span style="color: #000000; ">, </span><span style="color: #000000; ">2</span><span style="color: #000000; ">);<br />                 s.push(object2strng(item, indent).trim());<br />             }<br />         } </span><span style="color: #0000FF; ">else</span><span style="color: #000000; "> {<br />             s.push(JSON.stringify(item));<br />         }<br />         s.push(',');<br />         s.push(os.EOL);<br />     }<br />     </span><span style="color: #0000FF; ">if</span><span style="color: #000000; "> (hasProp) {<br />         s.splice(s.length </span><span style="color: #000000; ">-</span><span style="color: #000000; "> </span><span style="color: #000000; ">2</span><span style="color: #000000; ">, </span><span style="color: #000000; ">1</span><span style="color: #000000; ">);<br />     }<br />     s.push(toIndent(indent));<br />     s.push(']');<br />     </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> s.join('');<br /> }<br /> <br /> </span><span style="color: #008000; ">/*</span><span style="color: #008000; ">*<br />  * 灝嗗璞¤漿鎹㈡垚鍘熷瀛楃涓?br />  </span><span style="color: #008000; ">*/</span><span style="color: #000000; "><br /> </span><span style="color: #0000FF; ">function</span><span style="color: #000000; "> object2strng(obj, indent) {<br />     </span><span style="color: #0000FF; ">var</span><span style="color: #000000; "> s </span><span style="color: #000000; ">=</span><span style="color: #000000; "> ['{', os.EOL], hasProp </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">false</span><span style="color: #000000; ">;<br /> <br />     </span><span style="color: #0000FF; ">for</span><span style="color: #000000; "> (</span><span style="color: #0000FF; ">var</span><span style="color: #000000; "> o </span><span style="color: #0000FF; ">in</span><span style="color: #000000; "> obj) {<br />         </span><span style="color: #0000FF; ">if</span><span style="color: #000000; "> (</span><span style="color: #000000; ">!</span><span style="color: #000000; ">hasProp) {<br />             hasProp </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">true</span><span style="color: #000000; ">;<br />         }<br />         s.push(toIndent(indent </span><span style="color: #000000; ">+</span><span style="color: #000000; "> </span><span style="color: #000000; ">1</span><span style="color: #000000; ">));<br />         s.push(JSON.stringify(o));<br />         s.push(':');<br /> <br />         </span><span style="color: #0000FF; ">var</span><span style="color: #000000; "> tp </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">typeof</span><span style="color: #000000; ">(obj[o]);<br />         </span><span style="color: #0000FF; ">if</span><span style="color: #000000; "> (tp </span><span style="color: #000000; ">===</span><span style="color: #000000; "> 'object') {<br />             </span><span style="color: #0000FF; ">if</span><span style="color: #000000; "> (obj[o] </span><span style="color: #0000FF; ">instanceof</span><span style="color: #000000; "> Array) {<br />                 s.push(array2string(obj[o], indent </span><span style="color: #000000; ">+</span><span style="color: #000000; "> </span><span style="color: #000000; ">1</span><span style="color: #000000; ">));<br />             } </span><span style="color: #0000FF; ">else</span><span style="color: #000000; "> {<br />                 s.push(object2strng(obj[o], indent </span><span style="color: #000000; ">+</span><span style="color: #000000; "> </span><span style="color: #000000; ">1</span><span style="color: #000000; ">));<br />             }<br />         } </span><span style="color: #0000FF; ">else</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">if</span><span style="color: #000000; "> (tp </span><span style="color: #000000; ">===</span><span style="color: #000000; "> '</span><span style="color: #0000FF; ">function</span><span style="color: #000000; ">') {<br />             s.push(obj[o].toString());<br />         } </span><span style="color: #0000FF; ">else</span><span style="color: #000000; "> {<br />             s.push(JSON.stringify(obj[o]));<br />         }<br />         s.push(',');<br />         s.push(os.EOL);<br />     }<br />     </span><span style="color: #0000FF; ">if</span><span style="color: #000000; "> (hasProp) {<br />         s.splice(s.length </span><span style="color: #000000; ">-</span><span style="color: #000000; "> </span><span style="color: #000000; ">2</span><span style="color: #000000; ">, </span><span style="color: #000000; ">1</span><span style="color: #000000; ">);<br />     }<br />     s.push(toIndent(indent));<br />     s.push('}');<br />     </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> s.join('');<br /> }<br /> <br /> </span><span style="color: #008000; ">//</span><span style="color: #008000; ">鎻愬彇姝e紡浠g爜閲岀殑requirejs鐨勯厤緗瓧絎︿覆,騫跺姩鎬佹墽琛岃漿鎹㈡垚json瀵硅薄; 淇敼鐩稿叧鐨勫間俊鎭負(fù)涓嬭竟鐨勬墦鍖呮搷浣滃仛鍑嗗; 騫跺皢閰嶇疆淇℃伅鍐嶈漿鎴愬瓧絎︿覆褰㈠紡鍐欏埌涓存椂鏂囦歡涓?/span><span style="color: #008000; "><br /> </span><span style="color: #0000FF; ">var</span><span style="color: #000000; "> mainPath </span><span style="color: #000000; ">=</span><span style="color: #000000; "> path.resolve(process.cwd(), '..</span><span style="color: #000000; ">/</span><span style="color: #000000; ">js</span><span style="color: #000000; ">/</span><span style="color: #000000; ">main.js');<br /> </span><span style="color: #0000FF; ">var</span><span style="color: #000000; "> mainContent </span><span style="color: #000000; ">=</span><span style="color: #000000; "> fs.readFileSync(mainPath, 'utf</span><span style="color: #000000; ">-</span><span style="color: #000000; ">8</span><span style="color: #000000; ">').replace(</span><span style="color: #000000; ">/</span><span style="color: #000000; ">(requirejs\.config\()</span><span style="color: #000000; ">?</span><span style="color: #000000; ">([</span><span style="color: #000000; ">^</span><span style="color: #000000; ">)]]</span><span style="color: #000000; ">*</span><span style="color: #000000; ">)(\);)</span><span style="color: #000000; ">?/</span><span style="color: #000000; ">gm, '$</span><span style="color: #000000; ">2</span><span style="color: #000000; ">');<br /> vm.runInThisContext('</span><span style="color: #0000FF; ">var</span><span style="color: #000000; "> mainCfg</span><span style="color: #000000; ">=</span><span style="color: #000000; "> ' </span><span style="color: #000000; ">+</span><span style="color: #000000; "> mainContent);</span><span style="color: #008000; ">//</span><span style="color: #008000; ">灝嗘彁鍙栫殑瀛楃涓茶漿鎴恗ainCfg瀵硅薄</span><span style="color: #008000; "><br /> </span><span style="color: #000000; ">mainCfg.baseUrl </span><span style="color: #000000; ">=</span><span style="color: #000000; "> '</span><span style="color: #000000; ">/</span><span style="color: #000000; ">static</span><span style="color: #000000; ">/</span><span style="color: #000000; ">js</span><span style="color: #000000; ">/</span><span style="color: #000000; ">dist</span><span style="color: #000000; ">/</span><span style="color: #000000; ">lib';<br /> </span><span style="color: #0000FF; ">var</span><span style="color: #000000; "> nMainCfgStr </span><span style="color: #000000; ">=</span><span style="color: #000000; "> 'requirejs.config(' </span><span style="color: #000000; ">+</span><span style="color: #000000; "> object2strng(mainCfg, </span><span style="color: #000000; ">0</span><span style="color: #000000; ">) </span><span style="color: #000000; ">+</span><span style="color: #000000; "> ');';</span><span style="color: #008000; ">//</span><span style="color: #008000; ">閲嶆柊鐢熸垚main.js閰嶇疆鏂囦歡,涓轟笅杈圭殑鎵撳寘鍋氬噯澶?/span><span style="color: #008000; "><br /> </span><span style="color: #0000FF; ">var</span><span style="color: #000000; "> buildPath </span><span style="color: #000000; ">=</span><span style="color: #000000; "> path.resolve(process.cwd(), '.</span><span style="color: #000000; ">/</span><span style="color: #000000; ">main.js');<br /> fs.writeFileSync(buildPath, nMainCfgStr);<br /> console.log('write temp file main.js fininshed');<br /> <br /> </span><span style="color: #008000; ">//</span><span style="color: #008000; ">鎵撳寘鐨勯厤緗俊鎭?/span><span style="color: #008000; "><br /> </span><span style="color: #0000FF; ">var</span><span style="color: #000000; "> buildJson </span><span style="color: #000000; ">=</span><span style="color: #000000; "> {<br />     appDir: '..</span><span style="color: #000000; ">/</span><span style="color: #000000; ">js',<br />     baseUrl: 'lib',<br />     mainConfigFile: '.</span><span style="color: #000000; ">/</span><span style="color: #000000; ">main.js',<br />     dir: '..</span><span style="color: #000000; ">/</span><span style="color: #000000; ">js</span><span style="color: #000000; ">/</span><span style="color: #000000; ">dist',<br />     modules: [{<br />         'name': '..</span><span style="color: #000000; ">/</span><span style="color: #000000; ">main',<br />         include: []<br />     }]<br /> };<br /> </span><span style="color: #0000FF; ">for</span><span style="color: #000000; "> (</span><span style="color: #0000FF; ">var</span><span style="color: #000000; "> p </span><span style="color: #0000FF; ">in</span><span style="color: #000000; "> mainCfg.paths) {</span><span style="color: #008000; ">//</span><span style="color: #008000; ">榪欓噷鎻愬彇鎵鏈夌殑渚濊禆妯″潡,鎵撳寘鏃舵斁鍒癿ain.js鏂囦歡涓?/span><span style="color: #008000; "><br /> </span><span style="color: #000000; ">    buildJson.modules[</span><span style="color: #000000; ">0</span><span style="color: #000000; ">].include.push(p);<br /> }<br /> <br /> </span><span style="color: #0000FF; ">var</span><span style="color: #000000; "> buildPath </span><span style="color: #000000; ">=</span><span style="color: #000000; "> path.resolve(process.cwd(), '.</span><span style="color: #000000; ">/</span><span style="color: #000000; ">build_main.json');<br /> fs.writeFileSync(buildPath, object2strng(buildJson, </span><span style="color: #000000; ">0</span><span style="color: #000000; ">));</span><span style="color: #008000; ">//</span><span style="color: #008000; ">鐢熸垚鎵撳寘閰嶇疆鏂囦歡</span><span style="color: #008000; "><br /> </span><span style="color: #000000;">console.log('wirte temp file build_main.json fininshed');<br /> <br /> </span></div><br /><br />鍐欎竴鎵瑰鐞嗘枃浠禸uild.bat<br /><div><pre style="background-color:#2b2b2b;color:#a9b7c6;font-family:'Source Code Pro';font-size:10.5pt;">@echo off<br />node build.js<br />node r.js -o build_main.json<br />@pause</pre></div>鎵ц灝卞彲浠ヤ簡(jiǎn)<img src ="http://www.aygfsteel.com/wangxinsh55/aggbug/431944.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/wangxinsh55/" target="_blank">SIMONE</a> 2016-11-01 16:24 <a href="http://www.aygfsteel.com/wangxinsh55/archive/2016/11/01/431944.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>node涓嬩嬌鐢╣runt綆$悊js鏂囦歡欏圭洰http://www.aygfsteel.com/wangxinsh55/archive/2015/08/07/426652.htmlSIMONESIMONEFri, 07 Aug 2015 03:47:00 GMThttp://www.aygfsteel.com/wangxinsh55/archive/2015/08/07/426652.htmlhttp://www.aygfsteel.com/wangxinsh55/comments/426652.htmlhttp://www.aygfsteel.com/wangxinsh55/archive/2015/08/07/426652.html#Feedback0http://www.aygfsteel.com/wangxinsh55/comments/commentRss/426652.htmlhttp://www.aygfsteel.com/wangxinsh55/services/trackbacks/426652.htmlnode涓嬩嬌鐢╣runt綆$悊js鏂囦歡欏圭洰

1銆佷嬌鐢╪pm init鍛戒護(hù)鍒濆鍖栧寘閰嶇疆綆$悊鏂囦歡package.json
2銆佹坊鍔犳彃浠秐pm鎻掍歡
npm install grunt --save-dev
npm install grunt-cli --save-dev
npm install grunt-babel --save-dev
npm install grunt-contrib-concat --save-dev
npm install grunt-contrib-jshint --save-dev
npm install grunt-contrib-uglify --save-dev

鏈鍚巔ackage.json閰嶇疆鏂囦歡濡備笅鎵紺?br />
{
  "name": "es6",
  "version": "1.0.0",
  "description": "",
  "main": "a.js",
  "dependencies": {
    "babel": "^5.8.21",//es6杞琫s5
    "webpack": "^1.10.5"http://緗戠珯寮鍙戝皢澶氫釜js鏂囦歡鎵撳寘鎴愪竴涓猨s鏂囦歡鐨勫伐鍏鳳紝鏆傛椂娌℃湁鐢ㄥ埌
  },
  "devDependencies": {
    "grunt": "^0.4.5",//js欏圭洰鏂囦歡鏋勫緩宸ュ叿
    "grunt-babel": "^5.0.1",//grunt闆嗘垚babel錛屽皢es6杞垚es5
    "grunt-cli": "^0.1.13",//瀹㈡埛绔懡浠よ宸ュ叿
    "grunt-contrib-concat": "^0.5.1",//灝嗗涓猨s鏂囦歡鍚堝茍鎴愪竴涓猨s鏂囦歡宸ュ叿
    "grunt-contrib-jshint": "^0.11.2",//楠岃瘉js璇硶宸ュ叿錛屼笉鏀寔es6璇硶
    "grunt-contrib-uglify": "^0.9.1"http://灝唈s鍘嬬緝宸ュ叿
  },
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}

娣誨姞grunt閰嶇疆鏂囦歡gruntfile.js濡備笅鎵紺猴細(xì)

module.exports = function(grunt) {  
  //閰嶇疆鍙傛暟錛実runt閰嶇疆鏂囦歡
  grunt.initConfig({  
     pkg: grunt.file.readJSON('package.json'),
     jshint: {
         options:{
             "curly": true,
            "eqnull": true,
            "eqeqeq": true,
            "undef": false,
             esnext: true
         },
         all: ['a.js','b.js']
     },
     babel: {
         dist:{
             'out/a.js':'a.js',
             'out/b.js':'b.js'
         }
     },
     concat: {  
         options: {  
             separator: ';',  
             stripBanners: true  
         },  
         dist: {  
             src: [  
                 "out/a.js",  
                 "out/b.js"
             ],  
             dest: "out/default.js"  
         }  
     },  
     uglify: {  
         options: {  
         },  
         dist: {  
             files: {  
                 'out/default.min.js': 'out/default.js'  
             }  
         }  
     }
  });  
   
  //杞藉叆concat鍜寀glify鎻掍歡錛屽垎鍒浜庡悎騫跺拰鍘嬬緝  
  grunt.loadNpmTasks('grunt-contrib-jshint');
  grunt.loadNpmTasks('grunt-babel');
  grunt.loadNpmTasks('grunt-contrib-concat');  
  grunt.loadNpmTasks('grunt-contrib-uglify');  
  /*
  grunt.loadNpmTasks('grunt-contrib-cssmin');  
   */
  //娉ㄥ唽浠誨姟  
  grunt.registerTask('default', ['babel','concat', 'uglify']);  
}


SIMONE 2015-08-07 11:47 鍙戣〃璇勮
]]>
蹇熸惌寤?Node.js / io.js 寮鍙戠幆澧冧互鍙?qiáng)鍔犻?npmhttp://www.aygfsteel.com/wangxinsh55/archive/2015/08/04/426575.htmlSIMONESIMONETue, 04 Aug 2015 01:50:00 GMThttp://www.aygfsteel.com/wangxinsh55/archive/2015/08/04/426575.htmlhttp://www.aygfsteel.com/wangxinsh55/comments/426575.htmlhttp://www.aygfsteel.com/wangxinsh55/archive/2015/08/04/426575.html#Feedback0http://www.aygfsteel.com/wangxinsh55/comments/commentRss/426575.htmlhttp://www.aygfsteel.com/wangxinsh55/services/trackbacks/426575.htmlhttp://fengmk2.com/blog/2014/03/node-env-and-faster-npm.html

鍦ㄥ叕浜よ濺涓婂埛寰崥錛岃繕鏄湁寰堝鍚屽鍦ㄥ挩璇?

  • 濡備綍蹇熸惌寤?node 寮鍙戠幆澧?/li>
  • npm 瓚呮參
  • github 鏃犳硶鎵撳紑鐨勯棶棰?/li>

浜庢槸鎴戣寰楀簲璇ュ啓涓綃囨枃绔犺В絳旀墍鏈夎繖浜涜搗姝ラ棶棰橈紝璁╂柊鍚屽涔熻兘欏洪『鍒╁埄鍏ラ棬銆?/p>

蹇熸惌寤?Node.js 寮鍙戠幆澧?/h2>

濡傛灉浣犳兂闀挎湡鍋?node 寮鍙? 鎴栬呮兂蹇熸洿鏂?node 鐗堟湰, 鎴栬呮兂蹇熷垏鎹?node 鐗堟湰, 閭d箞鍦?strong>闈?Windows(濡?osx, linux) 鐜涓? 璇蜂嬌鐢?nvm 鏉ュ畨瑁呬綘鐨?node 寮鍙戠幆澧? 淇濇寔緋葷粺鐨勫共鍑.

濡傛灉浣犱嬌鐢?Windows 鍋氬紑鍙? 閭d箞浣犲彲浠ヤ嬌鐢?nvmw 鏉ユ浛浠?nvm

osx, linux 鐜

濡傛灉浣犳槸 windows 鐜寮鍙? 璇瘋煩榪囪繖閲? 鐩存帴鏌ョ湅涓嬩竴绔?

git clone nvm

鐩存帴浠?github clone nvm 鍒版湰鍦? 榪欓噷鍋囪澶у閮戒嬌鐢?~/git 鐩綍瀛樻斁 git 欏圭洰:

$ cd ~/git $ git clone https://github.com/cnpm/nvm.git 

閰嶇疆緇堢鍚姩鏃惰嚜鍔ㄦ墽琛?source ~/git/nvm/nvm.sh, 鍦?~/.bashrc, ~/.bash_profile, ~/.profile, 鎴栬?~/.zshrc 鏂囦歡娣誨姞浠ヤ笅鍛戒護(hù):

source ~/git/nvm/nvm.sh 

閲嶆柊鎵撳紑浣犵殑緇堢, 杈撳叆 nvm

$ nvm  Node Version Manager  Usage:     nvm help                    Show this message     nvm --version               Print out the latest released version of nvm     nvm install [-s] <version>  Download and install a <version>, [-s] from source     nvm uninstall <version>     Uninstall a version     nvm use <version>           Modify PATH to use <version>     nvm run <version> [<args>]  Run <version> with <args> as arguments     nvm current                 Display currently activated version     nvm ls                      List installed versions     nvm ls <version>            List versions matching a given description     nvm ls-remote               List remote versions available for install     nvm deactivate              Undo effects of NVM on current shell     nvm alias [<pattern>]       Show all aliases beginning with <pattern>     nvm alias <name> <version>  Set an alias named <name> pointing to <version>     nvm unalias <name>          Deletes the alias named <name>     nvm copy-packages <version> Install global NPM packages contained in <version> to current version  Example:     nvm install v0.10.24        Install a specific version number     nvm use 0.10                Use the latest available 0.10.x release     nvm run 0.10.24 myApp.js    Run myApp.js using node v0.10.24     nvm alias default 0.10.24   Set default node version on a shell  Note:     to remove, delete or uninstall nvm - just remove ~/.nvm, ~/.npm and ~/.bower folders 

閫氳繃 nvm 瀹夎浠繪剰鐗堟湰鐨?node

$ nvm install 0.12.0 

浜庢槸浣犲氨浼?xì)鐪嬪堫C竴孌甸潪甯稿揩閫熻繘搴︽潯:

######################################################################## 100.0% Now using node v0.12.0 

榪樺彲浠ョ洿鎺ュ畨瑁?iojs 鍚勪釜鐗堟湰

$ nvm install iojs 

浣犲彲浠ョ戶緇潪甯告柟渚垮湴瀹夎鍚勪釜鐗堟湰鐨?node 浜? 浣犲彲浠ユ煡鐪嬩竴涓嬩綘褰撳墠宸茬粡瀹夎鐨勭増鏈?

$ nvm ls-remote          nvm      v0.8.26     v0.10.26     v0.11.16 ->  v0.12.0 

windows 鐜

git clone nvmw

鐩存帴浠?github clone nvmw 鍒版湰鍦? 榪欓噷鍋囪澶у閮戒嬌鐢?d:\git 鐩綍瀛樻斁 git 欏圭洰:

$ d: $ cd git $ git clone https://github.com/cnpm/nvmw.git 

璁劇疆 d:\git\nvmw 鐩綍鍒頒綘鐨?PATH 鐜鍙橀噺涓?

set "PATH=d:\git\nvmw;%PATH%" 

閲嶆柊鎵撳紑浣犵殑緇堢, 杈撳叆 nvmw

$ nvmw  Usage:   nvmw help                    Show this message   nvmw install [version]       Download and install a [version]   nvmw uninstall [version]     Uninstall a [version]   nvmw use [version]           Modify PATH to use [version]   nvmw ls                      List installed versions  Example:   nvmw install v0.6.0          Install a specific version number   nvmw use v0.6.0              Use the specific version 

閫氳繃 nvmw 瀹夎浠繪剰鐗堟湰鐨?node

$ nvmw install 0.12.0 

浜庢槸浣犲氨浼?xì)鐪嬪堫C竴孌甸潪甯稿揩閫熻繘搴︽潯:

######################################################################## 100.0% Now using node v0.12.0 

瀹夎 iojs

$ nvmw install iojs-1.4.2 

鐒跺悗浣犲彲浠ョ戶緇潪甯告柟渚垮湴瀹夎鍚勪釜鐗堟湰鐨?node 浜? 浣犲彲浠ユ煡鐪嬩竴涓嬩綘褰撳墠宸茬粡瀹夎鐨勭増鏈?

$ nvmw ls  v0.10.26 v0.11.12 Current: v0.11.12 

鍒版, 鏃犺鏄?windows 鐜, 榪樻槸 osx, linux 鐜, 閮借兘蹇熷畨瑁呭涓増鏈殑 node 浜?

浣跨敤 cnpm 鍔犻?npm

鍚岀悊 nvm , npm 榛樿鏄粠鍥藉鐨勬簮鑾峰彇鍜屼笅杞藉寘淇℃伅, 涓嶆參鎵嶅鎬? 鍙互閫氳繃綆鍗曠殑 ---registry 鍙傛暟, 浣跨敤鍥藉唴鐨勯暅鍍?http://registry.npm.taobao.org :

$ npm install koa --registry=http://registry.npm.taobao.org 

浜庢槸灞忓箷鍙堝摋鍟﹀摋鍟﹀湴涓澶х墖杈撳嚭:

$ npm install koa --registry=http://registry.npm.taobao.org ... koa@0.5.2 node_modules/koa ├── koa-compose@2.2.0 ├── statuses@1.0.2 ├── finished@1.1.1 ├── escape-html@1.0.1 ├── only@0.0.2 ├── debug@0.8.0 ├── fresh@0.2.2 ├── type-is@1.0.1 ├── delegates@0.0.3 ├── mime@1.2.11 ├── co@3.0.5 ├── accepts@1.0.1 (negotiator@0.4.2) └── cookies@0.4.0 (keygrip@1.0.0) 

浣嗘槸姣曠珶闀滃儚璺熷畼鏂圭殑 npm 婧愯繕鏄細(xì)鏈変竴涓悓姝ユ椂闂村樊寮? 鐩墠 cnpm 鐨勯粯璁ゅ悓姝ユ椂闂撮棿闅旀槸 10 鍒嗛挓. 濡傛灉浣犳槸妯″潡鍙戝竷鑰? 鎴栬呬綘鎯抽┈涓婂悓姝ヤ竴涓ā鍧? 閭d箞鎺ㄨ崘浣犲畨瑁?cnpm cli:

$ npm install cnpm -g --registry=http://registry.npm.taobao.org 

閫氳繃 cnpm 鍛戒護(hù)琛? 浣犲彲浠ュ揩閫熷悓姝ヤ換鎰忔ā鍧?

$ cnpm sync koa connect mocha 

鍛? 鎴戝氨鏄笉鎯沖畨瑁?cnpm cli 鎬庝箞鍔? 鍝堝搱, 鏃╁氨鎯沖埌浣犱細(xì)榪欎箞鎳掍簡(jiǎn), 浜庢槸鎴戜滑榪樻湁涓涓?web 欏甸潰:

渚嬪鎴戞兂椹笂鍚屾 koa, 鐩存帴鎵撳紑嫻忚鍣? http://npm.taobao.org/sync/koa

鎴栬呬綘鏄懡浠よ鎺? 閫氳繃 open 鍛戒護(hù)鎵撳紑:

$ open http://npm.taobao.org/sync/koa 

濡傛灉浣犲畨瑁呯殑妯″潡渚濊禆浜?C++ 妯″潡, 闇瑕佺紪璇? 鑲畾浼?xì)閫氳繃 node-gyp 鏉ョ紪璇? node-gyp 鍦ㄧ涓嬈$紪璇戠殑鏃跺? 闇瑕佷緷璧?node 婧愪唬鐮? 浜庢槸鍙堜細(xì)鍘?node dist 涓嬭澆, 浜庢槸澶у鍙堜細(xì)鍚愭Ы, 鎬庝箞 npm 瀹夎榪欎箞鎱?..

濂藉惂, 浜庢槸鍙堣鎻愬埌 --disturl 鍙傛暟, 閫氳繃涓浗闀滃儚鏉ヤ笅杞?

$ npm install microtime \   --registry=http://registry.npm.taobao.org \   --disturl=http://npm.taobao.org/mirrors/node 

鍐嶆瑕佹彁鍒?cnpm cli, 瀹冨凡緇忛粯璁ゅ皢 --registry 鍜?--disturl 閮介厤緗ソ浜? 璋佺敤璋佺煡閬?. 鍐欏埌榪欓噷, 灝辨洿蹇枒鎯戦偅浜涗笉鎯沖畨瑁?cnpm cli 鍙堝悙妲?npm 鎱㈢殑鍚屽鏄熀浜庝粈涔堣冭檻涓嶅湪鏈湴瀹夎涓涓?cnpm 鍛?

github 濂芥參

濂戒簡(jiǎn), 鐪嬪埌榪欓噷澶у搴旇瀵?node 鍜?npm 宸茬粡娌℃湁閫熷害鎱㈢殑闂浜?

github 鎱? 鎴栬呰鏄畠鐨勮祫婧?host 琚牭鑰屽凡, 澶у鍙互閫氳繃綆鍗曠殑 hosts 鏄犲皠瑙e喅:

185.31.16.184 github.global.ssl.fastly.net 

涓轟綍鏈榪戣闂浗澶栫綉绔欒繖涔堟參?

鍚鏄?APCN2 鍙堟柇浜? http://weibo.com/1415338244/ACTYkq8xK

1

鏈夌埍

甯屾湜鏂囨湰瀵逛綘鏈夌敤. :)



SIMONE 2015-08-04 09:50 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 长垣县| 泗洪县| 蛟河市| 资溪县| 奎屯市| 万源市| 津市市| 新巴尔虎右旗| 九龙坡区| 安国市| 右玉县| 南投市| 武胜县| 二手房| 闻喜县| 筠连县| 灌南县| 云龙县| 读书| 阜平县| 永清县| 三河市| 吴江市| 全椒县| 扎赉特旗| 宁国市| 泰和县| 定南县| 信阳市| 肇东市| 丰镇市| 江油市| 余江县| 广南县| 昭觉县| 湟源县| 怀远县| 拜城县| 宣城市| 拉萨市| 四子王旗|