亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目錄
 Chrome dev Tool
 Grunt
 LiveReload
 Mocha/Chai/Sinon
  Jasmine
  Mocha/Chai
 Karma
首頁 web前端 html教程 五個值得嘗試的前端開發(fā)工具_html/css_WEB-ITnose

五個值得嘗試的前端開發(fā)工具_html/css_WEB-ITnose

Jun 24, 2016 am 11:54 AM

  在過去的幾年時間里,出現(xiàn)了許多全新的網(wǎng)頁應(yīng)用程序,不過,由于應(yīng)用程序的功能越來越豐富,也導致了前端開發(fā)的復雜度大幅增加。

  現(xiàn)在也有不少前端開發(fā)工具,比如Backbone和EmberJS框架都能提供穩(wěn)定的App開發(fā)解決方案。同時,Javascript的應(yīng)用也越來越常廣泛,而且它還能和Node.JS在后端協(xié)同工作,快速搭建易于擴展的網(wǎng)絡(luò)應(yīng)用。實際上,為了應(yīng)對前端開發(fā)復雜度所帶來的挑戰(zhàn),開發(fā)人員創(chuàng)建了許多工具來簡化開發(fā)流程。從測試框架,到分析工具,前端開發(fā)工具已經(jīng)非常成熟了,正是得益于這些有用的工具才讓用戶體驗到最佳的互聯(lián)網(wǎng)服務(wù)。

  開發(fā)人員都喜歡使用高質(zhì)量的軟件開發(fā)工具,本文就推薦五個優(yōu)秀的前端開發(fā)工具和框架,希望能供開發(fā)人員參考。

 Chrome dev Tool

  這是目前最好的前端開發(fā)工具。自從其誕生以來,Chrome在其開發(fā)者工具中投入了大量精力,而且直到現(xiàn)在,谷歌仍在不斷優(yōu)化這些工具。一般而言,谷歌會在每六周發(fā)布對Chrome開發(fā)者工具的優(yōu)化,并推出一些全新功能。

  Chrome開發(fā)工具是各種工具組成的套件,開發(fā)人員可以實時編輯DOM (HTML)/CSS,逐步調(diào)試JavaScript,并幫助開發(fā)者更加深入地進行性能分析。Chrome開發(fā)工具甚至還可以新增terminal(DevTool?Terminal是一款Chrome開發(fā)工具的擴展,可以幫助開發(fā)者在瀏覽器中訪問終端。如果你經(jīng)常在命令行工作,這款擴展將十分適合你),幫助開發(fā)人員解決相關(guān)渲染性能問題。

  DOM/CSS編輯器是一個非常強大的工具,可以為你的開發(fā)團隊提供實時反饋,在開發(fā)UI/UX新功能的時候可以支持快速迭代。

  在官網(wǎng)和谷歌開發(fā)者的YouTube頻道上面有許多含金量很高的信息。其中一個名為“命令行API”的章節(jié)就為開發(fā)人員提供了大量非常有用的命令。比如,你可以調(diào)用一個特殊的“復制”功能,就可以從控制臺復制任何東西(比如對象,函數(shù)返回)到剪切板上面。另外,在HTML5 Rocks上面還有很多優(yōu)秀的教程。如果你的好奇心很強,并且想了解瀏覽器究竟是如何工作的,那么能在這些教程里學到很多東西,幫助你全面掌控應(yīng)用程序開發(fā)周期。

  如果谷歌不斷優(yōu)化Chrome開發(fā)工具的話,這套工具最終會成為網(wǎng)頁的集成開發(fā)環(huán)境(IDE),直接和瀏覽器進行捆綁,為開發(fā)人員提供更加強大的開發(fā)空間。

 Grunt

  Grunt在任務(wù)自動化中很有用,它是一個基于任務(wù)的JavaScript命令行構(gòu)建工具,支持捆綁任務(wù)插件。此外,Grunt是可擴展的,開發(fā)人員可以按照自己的需要編寫不同的任務(wù),而且Grunt支持將多任務(wù)整合在一起,提供更強大的功能。

  如今,Grunt已經(jīng)不再局限于簡單的前端自動化工作任務(wù)流了,在PHP開發(fā)時,就可以使用Grunt進行測試工作,如下所示:

terminal = require('color-terminal')log = (error, stdout, stderr, cb) ->    if error        terminal.color('red').write stdout    else        terminal.color('green').write stdout    cb()module.exports = (grunt) ->    grunt.loadNpmTasks 'grunt-contrib-watch'    grunt.loadNpmTasks 'grunt-shell'    grunt.initConfig        testFilepath: null        watch:            php:                options:                    event: 'changed'                    spawn: false                files: [                    'foo/bar/**/*.php'                    'foo/bar/**/*Test.php'                ]                tasks: 'shell:phpunit'        shell:            phpunit:                options:                    callback: log                command: 'echo <%= testFilepath %> && phpunit -c app <%= testFilepath %>'    grunt.event.on 'watch', (action, filepath, ext) ->        regex = new RegExp("foo/bar/([a-z0-9]+)/([a-z0-9/]+)", "i")        if filepath.match regex            if filepath.indexOf('Test') is -1                testFilepath = filepath.replace regex, "foo/bar/$1/Tests/$2Test"            else                testFilepath = filepath            grunt.config 'testFilepath', testFilepath

  Grunt還可以用來創(chuàng)建工作區(qū),此外開發(fā)人員在創(chuàng)建一個新項目的時候,往往需要做一些繁瑣且重復的必要工作,而Grunt提供了不少插件,可以使這些瑣碎的工作變得簡單。

 LiveReload

  每天你會在鍵盤上點擊多少次“刷新”鍵呢?很多次吧。LiveReload是一個簡單的網(wǎng)頁協(xié)議,可以觸發(fā)事件到客戶端,無論文件什么時候被改動,客戶端都能及時刷新、處理事件。

  一般來說,LiveReload可以和Grunt捆綁在一起使用,搭建本地前端開發(fā)環(huán)境。而在客戶端,LiveReload則會提供一個簡單的Chrome擴展程序。談到Chrome擴展程序,Chrome store絕對是一個好地方,你可以到上面逛一逛,就會發(fā)現(xiàn)里面有不少好東西,這里推薦幾個,拋磚引玉:

  1、 WhatFont,它是一個書簽欄工具,采用鼠標懸浮功能特性,點擊后就可以告訴用戶在網(wǎng)站上所指的字體屬性、字體名稱、大小、顏色等等,非常方便。此外,它還可以幫助開發(fā)人員調(diào)試字體風格。

  2、 Page ruler,它可以幫助開發(fā)人員測量網(wǎng)站中任何元素的尺寸,像素的寬度和高度。

  3、 Proxy SwithcySharp,它可以用來幫助開發(fā)人員調(diào)試本地化信息,包括默認貨幣、電話號碼等

  4、 當然,最受歡迎的當屬Chrome app。

 Mocha/Chai/Sinon

  反復測試有沒有讓你覺得想吐?通常情況下,如果在前端開發(fā)的初始階段沒有設(shè)計好測試,那么后面的工作往往會變得非常困難。幸運的是,我們有不少優(yōu)秀的測試框架,它們就像之前使用過的那些開發(fā)語言一樣強大。目前主流的兩個測試框架就是Jasmine和Mocha。

  按照筆者已往的經(jīng)驗,更愿意推薦Mocha。它是一個功能豐富的Javascript測試框架,支持異步測試,這在Javascript中經(jīng)常要用到。下面是兩個測試案例,第一個是用Jasmine寫的,第二個使用Mocha/Chai寫的,如下所示:

  Jasmine

AsyncProcess = require('./async-process').AsyncProcessdescribe('AsyncProcess', function() {    var asyncProcess;    beforeEach(function() {        asyncProcess = new AsyncProcess();    });    it('should process 42', function() {        var done = false;        var processed = null;        deferred = asyncProcess.process();        deferred.then(function(result) {            done = true;            processed = result;        });        waitsFor(function() {            return done;        }, "the async process to complete", 10000);        runs(function() {            expect(processed).toEqual(42);        });    });});

  Mocha/Chai

AsyncProcess = require('./async-process').AsyncProcess;Chai = require('chai');Chai.should();describe('AsyncProcess', function() {    var asyncProcess;    beforeEach(function() {        asyncProcess = new AsyncProcess();    });    it('should process 42', function(done) {        deferred = asyncProcess.process();        deferred.then(function(processed) {            processed.should.be.equal(42);            done();        });    });});

  Jasmine所選的為默認語法,只有通過插件才能有Mocha一樣的功能,而后者簡潔的多。

  和Jasmine不同,Mocha僅提供行為測試結(jié)構(gòu),這種測試框架通常對應(yīng)的是行為驅(qū)動開發(fā),也就是BDD。但是這點并不會對Mocha產(chǎn)生負面影響,它可以與Chai和Sinon這樣的輔助測試工具結(jié)合使用。

  下面,就是調(diào)用Sinon測試工具集內(nèi)的spy類進行測試的一個例子:

// Function under testfunction once(fn) {    var returnValue, called = false;    return function () {        if (!called) {            called = true;            returnValue = fn.apply(this, arguments);        }        return returnValue;    };}it("calls the original function", function () {    var spy = sinon.spy();    var proxy = once(spy);    proxy();    assert(spy.called);});

  Chai的特點在于,開發(fā)人員可以使用和自然語言相近的聲明語法。不妨可以參考下面的例子,調(diào)用Chai中的should聲明語法。

foo.should.be.a('string');foo.should.equal('bar');foo.should.have.length(3);tea.should.have.property('flavors').with.length(3);

  很清晰,對嗎?現(xiàn)在就趕緊在你自己的代碼上測試一下吧!

 Karma

  雖然筆者把Karma放在了最后一個,但它仍然是一款非常重要的前端測試工具。Karma的前身是Testacular,一個Javascript測試工具。Karma開發(fā)者和開發(fā)AngularJS的是同一批人。如果你使用Mocha、Chai以及Sinon,那么連續(xù)不斷的運行上述這些測試框架,會提供實時的反饋嗎?

  Karma允許開發(fā)人員從工作站(在持續(xù)運行模式下)到生產(chǎn)調(diào)用指示,都能進行測試。它還支持多種瀏覽器,包括Chrome、Firefox、IE、PhantomJS,讓你對自己的代碼充滿自信。

  在進行開發(fā)工作時,第一快樂的就是在自己的電腦上寫代碼,并實時得到結(jié)果反饋;第二快樂的,就是自己的程序能夠應(yīng)用在各種瀏覽器上面,想必上述這兩點能夠得到絕大多數(shù)開發(fā)人員的共鳴吧?,F(xiàn)在,你是否已經(jīng)做好了準備,化身成為一個“前端忍者”,去挑戰(zhàn)一切困難了呢?當然,這里沒有提到一些文本代碼編輯器,比如Sublime Text和Vim,但是它們都是很好的開發(fā)工具。另外,本文使用的例子都來自GitHub Gist。

如果您恰巧也是一名前端開發(fā)工程師,那么是否也有自己喜歡的工具呢?歡迎在下面的評論欄里和大家分享。

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻,版權(quán)歸原作者所有,本站不承擔相應(yīng)法律責任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機

Video Face Swap

Video Face Swap

使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

將語義結(jié)構(gòu)應(yīng)用于html的文章,部分和旁邊 將語義結(jié)構(gòu)應(yīng)用于html的文章,部分和旁邊 Jul 05, 2025 am 02:03 AM

在HTML中合理使用語義化標簽?zāi)芴嵘撁娼Y(jié)構(gòu)清晰度、可訪問性和SEO效果。1.用于獨立內(nèi)容區(qū)塊,如博客文章或評論,需保持自包含性;2.用于歸類相關(guān)內(nèi)容,通常包含標題,適用于頁面不同模塊;3.用于與主內(nèi)容相關(guān)但非核心的輔助信息,如側(cè)邊欄推薦或作者簡介。實際開發(fā)中應(yīng)結(jié)合、等標簽,避免過度嵌套,保持結(jié)構(gòu)簡潔,并通過開發(fā)者工具驗證結(jié)構(gòu)合理性。

構(gòu)建網(wǎng)頁的HTML元素是什么? 構(gòu)建網(wǎng)頁的HTML元素是什么? Jul 03, 2025 am 02:34 AM

網(wǎng)頁結(jié)構(gòu)需核心HTML元素支撐,1.頁面整體結(jié)構(gòu)由、、構(gòu)成,其中為根元素,存放元信息,展示內(nèi)容;2.內(nèi)容組織依賴標題(-)、段落()及區(qū)塊標簽(如、)以提升條理與SEO;3.導航通過與實現(xiàn),常用組織鏈接并輔以aria-current屬性增強可訪問性;4.表單交互涉及、、與,確保用戶輸入與提交功能完整。正確使用這些元素能提升頁面清晰度、維護性及搜索引擎優(yōu)化。

使用HTML屬性實現(xiàn)客戶端表單驗證。 使用HTML屬性實現(xiàn)客戶端表單驗證。 Jul 03, 2025 am 02:31 AM

client-sideformvalidationCanbedOnewithOutJavaScriptbyusinghtmlattributes.1)useRequiredToEnforCemandatoryField.2)validateMailsAndUrllSwithTyPeatTributesLikeEmailOrurl,orusepatternwithRegegexforCustomAlorurl

使用HTML按鈕元素實現(xiàn)可點擊按鈕 使用HTML按鈕元素實現(xiàn)可點擊按鈕 Jul 07, 2025 am 02:31 AM

要使用HTML的button元素實現(xiàn)可點擊按鈕,首先需掌握其基本用法與常見注意事項。1.使用標簽創(chuàng)建按鈕,并通過type屬性定義行為(如button、submit、reset),默認為submit;2.通過JavaScript添加交互功能,可內(nèi)聯(lián)寫法或通過ID綁定事件監(jiān)聽器以提升維護性;3.利用CSS自定義樣式,包括背景色、邊框、圓角及hover/active狀態(tài)效果,增強用戶體驗;4.注意常見問題:確保未啟用disabled屬性、正確綁定JS事件、避免布局遮擋,并借助開發(fā)者工具排查異常。掌握這

HTML中的自我關(guān)閉標簽是什么? HTML中的自我關(guān)閉標簽是什么? Jul 02, 2025 pm 02:55 PM

自閉合標簽是HTML中不需要閉合標簽的元素,因為它們不包含內(nèi)容。常見例子包括:①插入圖片;②添加換行;③創(chuàng)建水平線;④定義表單輸入;⑤鏈接外部資源;⑥提供元數(shù)據(jù)。這些標簽通過屬性工作,如或。正確寫法有兩種:標準HTML語法如,或XHTML風格如,但HTML5推薦前者。注意不能在需要包裹內(nèi)容的標簽上使用自閉合形式,如錯誤的應(yīng)改為正確閉合的Hello。正確使用自閉合標簽有助于保持代碼簡潔高效,并提升與其他工具如框架的兼容性。

如何使用HTML將選項分組? 如何使用HTML將選項分組? Jul 04, 2025 am 03:16 AM

在HTML中使用標簽可以對下拉菜單中的選項進行分組。具體方法是用包裹一組元素,并通過label屬性定義組名,如:1.包含蘋果、香蕉、橙子等選項;2.包含胡蘿卜、西蘭花等選項;3.每個為一個獨立分組,組內(nèi)選項自動縮進。注意事項包括:①不支持嵌套;②可通過disabled屬性禁用整個組;③樣式受限需結(jié)合CSS或第三方庫美化;可使用Select2等插件增強功能。

將字幕和曲目添加到HTML視頻和音頻元素中。 將字幕和曲目添加到HTML視頻和音頻元素中。 Jul 02, 2025 pm 04:05 PM

要在網(wǎng)頁中嵌入帶字幕和音軌的視頻或音頻,可通過HTML原生功能實現(xiàn)。1.使用標簽添加WebVTT格式的字幕文件,并設(shè)置kind、srclang和label屬性;2.通過多個元素支持多語言字幕,并可使用default屬性設(shè)默認語言;3.多音軌可通過JavaScript控制多個元素切換,或使用更復雜的媒體擴展方案;4.注意瀏覽器兼容性、路徑配置及格式驗證,確保在不同設(shè)備上正常運行并提供備用方案。

調(diào)試常見的HTML驗證錯誤。 調(diào)試常見的HTML驗證錯誤。 Jul 03, 2025 am 02:41 AM

遇到HTML驗證錯誤時,首先要明確問題所在并按規(guī)范修正。1.缺失必填屬性時,應(yīng)補全如img的src和alt、a的href;2.標簽嵌套錯誤時,需理清結(jié)構(gòu)并正確閉合標簽,避免塊級元素嵌套混亂;3.使用無效或廢棄標簽時,應(yīng)參考MDN文檔替換為現(xiàn)代寫法,如用CSS替代center、font;4.字符編碼問題時,添加metacharset="UTF-8"并確保文件保存為UTF-8格式即可解決。

See all articles