日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
向Node.js核心貢獻(xiàn)代碼的六個步驟

本文的目的是幫助您完成向 Node.js 核心文件貢獻(xiàn)代碼的***個提交!

成都創(chuàng)新互聯(lián)主要從事網(wǎng)站設(shè)計、做網(wǎng)站、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)下陸,十載網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):028-86922220

向 Node.js 貢獻(xiàn)代碼的方式有很多種??梢詤⑴c某個工作組(網(wǎng)站或者聯(lián)機(jī)診斷工作組等)的工作,可以在 Nodeschools 開設(shè)課程提供 Node.js 的教學(xué), 讓那些有著同樣困惑的人可以向你學(xué)習(xí)。

當(dāng)然你也可以開始直接向 Node.js 的核心貢獻(xiàn),比如回答使用者的問題,甚至向項目提交代碼。

接下來,我們介紹提交代碼以獲取樂趣和成就感的必要步驟。

# 1 Fork 項目

請訪問位于 https://github.com/nodejs/node 的 Node.js 官方倉庫,并將該項目 fork 到您的 Github 帳戶。

Contributing to the Node.js Core - Fork

#2 設(shè)置 Git 倉庫

擁有了自己的倉庫,就可以直接進(jìn)入終端使用如下命令克隆項目。

 
 
 
 
  1. $ git clone git@github.com:YOUR_USER_NAME/node.git

然后用 cd node命令進(jìn)入目錄。

注意,你修改 Node.js 的同時,其他人也會同步修改! 因此一定要不定期接受新提交,否則你的倉庫會遺漏代碼。

為了保持你的 fork 是***的, 你必須設(shè)置另外一個源去拉取其他人提交的代碼。 為此,在終端中運行以下命令,該命令將設(shè)置一個名為upstream的遠(yuǎn)程連接。

 
 
 
 
  1. $ git remote add upstream https://github.com/nodejs/node.git

建立upstream之后,你可以運行下面的命令,一次獲得所有來自官方 Node.js 倉庫的***提交:

 
 
 
 
  1. $ git pull upstream --rebase
  2. # it will produce an output similar to this one
  3. remote: Counting objects: 9150, done.  
  4. remote: Compressing objects: 100% (11/11), done.  
  5. remote: Total 9150 (delta 5908), reused 5917 (delta 5908), pack-reused 3231  
  6. Receiving objects: 100% (9150/9150), 6.71 MiB | 2.06 MiB/s, done.  
  7. Resolving deltas: 100% (7343/7343), completed with 3204 local objects.

#3 構(gòu)建 Node.js 編譯文件

你已經(jīng)克隆了項目,是時候本地構(gòu)建編譯 Node.js 文件了!

首先要確認(rèn)你已經(jīng)安裝了 GCC 和 Clang(如果你是 Windows 系統(tǒng)可以裝 Visual Studio)環(huán)境 , 然后正確安裝 Python 2.6 或 2.7 和 GNU Make。

運行下面的命令,開始構(gòu)建編譯 Node.js:

 
 
 
 
  1. $ ./configure
  2. $ make -j4

運行 make 帶 -j4 參數(shù)將使編譯同時運行 4 個編譯作業(yè),這樣可以顯著減少構(gòu)建時間。

構(gòu)建完成后,可以運行如下命令使用你本地構(gòu)建的 Node.js了:

 
 
 
 
  1. $ ./node --version
  2. v9.0.0-pre

更多關(guān)于平臺支持和項目構(gòu)建的信息可以在這里找到:https://github.com/nodejs/node/blob/master/BUILDING.md

#4 編寫測試用例,運行測試

測試文件應(yīng)該使用短線串聯(lián)的命名方式。

  • 測試文件名的***部分應(yīng)該是以test開始。
  • 第二部分是你要測試的模塊信息。
  • 第三部分通常是你要測試的方法或者事件的名字。

因此,如果您要為 HTTP 請求編寫一個測試用例,可以把它命名為:test-http-posting-form-data.js。

這是從 Node.js 項目中拿到的示例,看看測試文件長啥樣:

 
 
 
 
  1. /*
  2. In the first line of the test file you should  
  3. enable strict mode, unless you test something  
  4. that needs it disabled  
  5. */
  6. 'use strict';
  7. /*
  8. the common package gives you some commonly  
  9. used testing methods, like mustCall  
  10. */
  11. const common = require('../common');
  12. /*
  13. a small description on what you are testing  
  14. */
  15. // This test ensures that the http-parser can handle UTF-8 characters
  16. // in the http header.
  17. const assert = require('assert');  
  18. const http = require('http');
  19. /*
  20. the body of the actual test - tests should exit with code 0 on success  
  21. */
  22. const server = http.createServer(common.mustCall((req, res) => {  
  23.   res.end('ok');
  24. }));
  25. server.listen(0, () => {  
  26.   http.get({
  27.     port: server.address().port,
  28.     headers: { 'Test': 'Düsseldorf' }
  29.   }, common.mustCall((res) => {
  30.     assert.strictEqual(res.statusCode, 200);
  31.     server.close();
  32.   }));
  33. });

使用下面的命令來運行測試:

 
 
 
 
  1. $ make test

測試內(nèi)部模塊的小竅門

要測試內(nèi)部模塊,必須在測試用例中依賴要測試的模塊。問題是,默認(rèn)情況下 Node.js 不讓你那樣做。解決的方式就是運行 Node.js 時帶上--expose-internals 參數(shù)。

編寫測試用例的更多信息可以在這里找到:https://github.com/nodejs/node/blob/master/doc/guides/writing-tests.md

#5 找一些有意義的事做

截至本文撰寫之時,Node.js 項目中有 563 個待解決的問題 。所以剛開始的時候,這些問題就是你要找的可以做的事情,作為新人你可以選擇一個問題來解決。

幸運的是,問題跟蹤器中有幾個標(biāo)簽可以幫助找到自己中意的***個貢獻(xiàn)。

***個叫做 good first contribution,第二個是 help wanted。首先我建議從 good first contribution 開始挑選一個, 一旦你感覺對項目的工作比較熟悉之后,就可以開始從help wanted 標(biāo)簽中選擇。

#6 提交解決方案

開發(fā)了新功能或擴(kuò)展了測試覆蓋度之后,只需將更改推送到你的代碼倉庫,然后同步到 Github上。推送,綠色合并按鈕將會出現(xiàn)在頂部。此時只需要新建一個 pull request,并等待其他貢獻(xiàn)者批準(zhǔn)/請求你的 pull request 中的更改。

此時,你就成為一個 Node.js 的貢獻(xiàn)者了。 恭喜,請繼續(xù)提交!


網(wǎng)站欄目:向Node.js核心貢獻(xiàn)代碼的六個步驟
網(wǎng)頁網(wǎng)址:http://www.5511xx.com/article/dpsoohj.html