摘要:發(fā)布于之后,采用了完全不同的方式,使用函數定義任務。它允許開發(fā)者使用它們的補丁和更新來修復這些安全漏洞。提供了工具用于掃描依賴來監(jiān)測漏洞。是一個開源診斷工具,用于和應用。是和開發(fā)的一款新的包管理工具。與相比,它解決了安全性能以及一致性問題。
譯者按: 最全的JavaScript開發(fā)工具列表,總有一款適合你!
原文: THE ULTIMATE LIST OF JAVASCRIPT TOOLS
譯者: Fundebug
為了保證可讀性,本文采用意譯而非直譯。另外,本文版權歸原作者所有,翻譯僅用于學習。
簡介2017年1月,Stack Overflow年度開發(fā)者調研一共訪問了64000個程序員,發(fā)現JavaScript已經連續(xù)5年成為最流行的編程語言。
這篇博客將介紹一些常用的JavaScript開發(fā)工具:
構建&自動化· IDE&編輯器
· 文檔
· 測試
· 調試
· 安全
· 代碼優(yōu)化&分析
· 包管理
Webpack對JavaScript應用依賴的所有模塊進行靜態(tài)分析,生成依賴圖,然后將它們打包成數個靜態(tài)文件。
Grunt以將重復耗時的任務自動化。Grunt的生態(tài)系統(tǒng)非常大,有超過6010個插件。
Gulp發(fā)布于Grunt之后,采用了完全不同的方式,使用JavaScript函數定義任務。它有超過2770個插件,并且提供了更好的控制。
Browserify使得開發(fā)者可以在瀏覽器使用CommonJS模塊。開發(fā)者像在node環(huán)境一樣,通過require("modules")來組織模塊之間的引用和依賴,Browserify將這些依賴打包成瀏覽器可以直接引用的JS文件。
Brunch非常簡單,速度很快。Brunch的配置文件非常簡單,入門文檔非常詳細。Brunch會自動生成Source Map,方便了開發(fā)者Debug。
Yeoman可以用于任何編程語言(JavaScript, Python, C#, Java, etc.)。它是前端開發(fā)的腳手架,有6213個插件。
WebStorm是一款強大的JavaScript IDE。它支持多種框架和CSS語言,包括前端,后端,移動端以及桌面應用。WebStorm可以無縫整合第三方工具,例如構建構建、語法檢查構建linter等等。它提供了代碼補全,實時錯誤監(jiān)測,導航,內置控制臺,各種插件等一系統(tǒng)功能。
Atom是GitHub團隊開發(fā)的。開發(fā)者可以很容易地對Atom進行自定義。Atom自帶了一個包管理工具,代碼補全,文件系統(tǒng)瀏覽器,支持多個平臺以及其他有用的功能。
Visual Studio Code是微軟開發(fā)的IDE,支持TypeScript。它提供了代碼補全,語法高亮,支持Git命令等等。另外,它還有非常多的插件。
Brackets是一個輕量級的開源編輯器。它專注于可視化工具,可以幫助開發(fā)者開發(fā)Web應用。Brackets支持實時預覽以及行內編輯。
Swagger提供了一系列規(guī)則用于描述API。使用Swagger,可以創(chuàng)建清晰的文檔,并且自動化API相關的操作(例如功能測試)。
JSDoc可以根據javascript文件中注釋信息,生成JavaScript應用程序或庫、模塊的API文檔。JSDoc可以用于管理大型項目。
jGrouseDoc 是一個開源工具,可根據JavaScript注釋生成類似Jaavdoc 的源碼文檔。它不僅可以為變量和函數生成文檔,還可以為模塊等其他元素生成文檔。
YUIDoc基于Nodejs,可以將文檔中的注釋生成API文檔。它使用類似于Javadoc與Doxygen的語法,并且支持實時預覽,支持各種語言,并且支持標記語言。
Docco 是免費的文檔工具,由Literate CoffeeScript編寫。它將代碼中的注釋生成HTML文檔。Docco并不限于JavaScript,同時支持Python, Ruby, Clojure等語言。
Jasmine 是一個行為驅動開發(fā)(BDD)框架,用于測試JavaScript代碼。它不依賴任何第三方模塊,也不需要DOM。它的語法非常簡單易懂,使得編寫測試變得很簡單。另外,它也可以用于測試Node.js,Python以及Ruby。
Mocha是一個功能測試框架,用于測試Node.js以及瀏覽器端JavaScript。作為開發(fā)者首選的測試框架,它可以自由的編寫測試組,提供詳細的測試報告,同時讓異步測試非常簡單。Mocha通常與斷言庫Chai來驗證測試結果。
PhantomJS用于前端單元測試。由于PhantomJS是一個無界面的Webkit瀏覽器引擎,與直接使用瀏覽器測試相比,使用PhantomJS腳本可以運行得更快。它支持各種網頁標準,例如JSON, Canvas, DOM操作, SVG以及CSS選擇器。
Protractor是一個端到端測試框架,用于測試Angular應用。它是基于WebDriverJS構建的,它可以通過瀏覽器事件或者原生事件,從而模擬真實用戶,來測試應用。
JavaScript Debugger由Mozilla Developer Network (MDN)開發(fā),可以獨立用于調試Node.js代碼,或者用于其他瀏覽器。Firefox提供了本地和遠程調試功能,并且,Firefox安卓端也用于調試運行在安卓應用。
Chrome Dev Tools提供了一系列工具,可以用于調試JavaScript代碼,編輯CSS,以及測試應用性能。
ng-inspector是Firefox,Chrome和Safari瀏覽器插件,可以幫助開發(fā)者開發(fā)、理解以及調試AngularJS應用。它提供了實時更新,DOM高亮等功能。
Augury是一個Chrome插件,可以用于調試Angular 2應用。它讓開發(fā)者可以直接查看應用結構,操作特征以及狀態(tài)變化。
Snyk是一個付費服務,用于發(fā)現、修復和預防JavaScript,Node.js和Ruby應用的已知漏洞。Snyk擁有自己的漏洞庫,以及NSP和NIST NVD的漏洞數據。它允許開發(fā)者使用它們的補丁和更新來修復這些安全漏洞。
Node Security Project提供了工具用于掃描依賴來監(jiān)測漏洞。NSP使用自己的漏洞數據,以及來自NIST NVD的漏洞數據。NSP支持集成GitHub和CI軟件,實時監(jiān)測和報警,并且可以提供如何修復Node.js應用漏洞的建議。
RetireJS是一個開源的依賴監(jiān)測工具。它包含了多個組件,包括命令行工具,Grunt插件,Firefox和Chrome插件,Burp和OWASP ZAP插件。Retirejs從NIST NVD,漏洞追蹤系統(tǒng),博客和郵件列表等手機漏洞數據。
Gemnasium是一個付費工具,不過有免費方案。它支持各種技術,比如Ruby, PHP, Bower, Python和npm。Gemnasium提供很多非常有用的特性,比如自動更新,實時報警以及Slack集成等。
OSSIndex支持多個生態(tài)系統(tǒng)(Java, JavaScript和.NET/C#),以及多個平臺,例如NuGet, npm, Bower, Chocolatey, Maven, Composer, Drupal和MSI。它從NVD以及其他來源收集漏洞數據。
JSLint是一個Web服務,用于驗證JavaScript的代碼質量。當它診斷到一個問題時,它會返回問題的大致位置和出錯信息。JSLint可以分析一些編碼規(guī)范以及語法錯誤。
JSHint可以發(fā)現JavaScript中的錯誤以及一些潛在的問題。JSHint是一個靜態(tài)代碼分析工具,旨在幫助開發(fā)者編寫大型的程序。它可以診斷語法錯誤、隱形類型轉換等問題,但是它并不能確定你的應用是否正確、性能是否足夠好、以及是否會發(fā)生內存泄漏。 JSHint是JSLint的一個fork。
ESLint是一個開源診斷工具,用于JSX和JavaScript應用。它可以幫助開發(fā)者發(fā)現可疑的或者不符合特定編程規(guī)范的代碼。它幫助開發(fā)者在沒有執(zhí)行代碼之前發(fā)現JS代碼中問題,節(jié)省了不少時間。ESLint由Node.js編寫,可以使用NPM安裝。
Flow是JavaScript代碼靜態(tài)類型檢測器,由Facebook開發(fā)。Flow可以在編碼時檢查到類型錯誤并做出提示。
Bower是一個用于管理前端依賴的包管理器,Twitter創(chuàng)建。它提供了大量可供使用的依賴包,幫助JavaScript開發(fā)者更方便地管理前端依賴的JS庫。
NPM是node package manager的縮寫,事實上NPM包可以用于前后端。它是JavaScript包管理系統(tǒng),也是世界上最大的依賴庫,有超過475,000個模塊。
Yarn是Facebook, Google, Exponent 和 Tilde 開發(fā)的一款新的 JavaScript 包管理工具。與NPM相比,它解決了安全、性能以及一致性問題。
Duo吸取了Component, Browserify和Go的經驗,致力于簡化大型Web應用的構建過程。
歡迎加入我們Fundebug的全棧BUG監(jiān)控交流群: 622902485。
版權聲明:
轉載時請注明作者Fundebug以及本文地址:
https://blog.fundebug.com/2017/06/19/javascript-tool-list/
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/83688.html
摘要:這個速查表主要是分享互聯網上一些比較常用的工具和技術常用內容,如編輯器的快捷鍵的命令行的選擇器的屬性等,這個列表簡單收集了常用的工具,可以收藏用于平時的備忘錄,需要用到的時候可以及時查閱。 這個速查表主要是分享互聯網上一些比較常用的工具和技術常用內容,如編輯器的快捷鍵、git的命令行、jQuery的API選擇器、CSS的flexbox屬性等,這個列表簡單收集了常用的工具,可以收藏用于平...
摘要:這個速查表主要是分享互聯網上一些比較常用的工具和技術常用內容,如編輯器的快捷鍵的命令行的選擇器的屬性等,這個列表簡單收集了常用的工具,可以收藏用于平時的備忘錄,需要用到的時候可以及時查閱。 這個速查表主要是分享互聯網上一些比較常用的工具和技術常用內容,如編輯器的快捷鍵、git的命令行、jQuery的API選擇器、CSS的flexbox屬性等,這個列表簡單收集了常用的工具,可以收藏用于平...
摘要:這個速查表主要是分享互聯網上一些比較常用的工具和技術常用內容,如編輯器的快捷鍵的命令行的選擇器的屬性等,這個列表簡單收集了常用的工具,可以收藏用于平時的備忘錄,需要用到的時候可以及時查閱。 這個速查表主要是分享互聯網上一些比較常用的工具和技術常用內容,如編輯器的快捷鍵、git的命令行、jQuery的API選擇器、CSS的flexbox屬性等,這個列表簡單收集了常用的工具,可以收藏用于平...
摘要:面試題大全求和的值是多少都為,因為沒有返回值。這個列表就是用對象表示。后退前進正數表示向前,負數表示向后表示當前打開的窗口或框架的信息。 javaScript面試題大全 1.求y和z的值是多少?var x = 1;var y = 0;var z = 0;function add(n){n=n+1;}y = add(x);function add(n){n=n+3;}z = add(x)...
閱讀 3415·2021-11-24 09:38
閱讀 3193·2021-11-22 09:34
閱讀 2107·2021-09-22 16:03
閱讀 2367·2019-08-29 18:37
閱讀 379·2019-08-29 16:15
閱讀 1769·2019-08-26 13:56
閱讀 865·2019-08-26 12:21
閱讀 2206·2019-08-26 12:15