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

??
 Chrome dev Tool
 Grunt
 LiveReload
 Mocha/Chai/Sinon
  Jasmine
  Mocha/Chai
 Karma
? ? ????? HTML ???? 五個值得嘗試的前端開發(fā)工具_(dá)html/css_WEB-ITnose

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

Jun 24, 2016 am 11:54 AM

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

  現(xiàn)在也有不少前端開發(fā)工具,比如Backbone和EmberJS框架都能提供穩(wěn)定的App開發(fā)解決方案。同時,Javascript的應(yīng)用也越來越常廣泛,而且它還能和Node.JS在后端協(xié)同工作,快速搭建易于擴(kuò)展的網(wǎng)絡(luò)應(yīng)用。實(shí)際上,為了應(yīng)對前端開發(fā)復(fù)雜度所帶來的挑戰(zhàn),開發(fā)人員創(chuàng)建了許多工具來簡化開發(fā)流程。從測試框架,到分析工具,前端開發(fā)工具已經(jīng)非常成熟了,正是得益于這些有用的工具才讓用戶體驗(yàn)到最佳的互聯(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ā)人員可以實(shí)時編輯DOM (HTML)/CSS,逐步調(diào)試JavaScript,并幫助開發(fā)者更加深入地進(jìn)行性能分析。Chrome開發(fā)工具甚至還可以新增terminal(DevTool?Terminal是一款Chrome開發(fā)工具的擴(kuò)展,可以幫助開發(fā)者在瀏覽器中訪問終端。如果你經(jīng)常在命令行工作,這款擴(kuò)展將十分適合你),幫助開發(fā)人員解決相關(guān)渲染性能問題。

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

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

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

 Grunt

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

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

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)建一個新項(xiàng)目的時候,往往需要做一些繁瑣且重復(fù)的必要工作,而Grunt提供了不少插件,可以使這些瑣碎的工作變得簡單。

 LiveReload

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

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

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

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

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

  4、 當(dāng)然,最受歡迎的當(dāng)屬Chrome app。

 Mocha/Chai/Sinon

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

  按照筆者已往的經(jīng)驗(yàn),更愿意推薦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所選的為默認(rèn)語法,只有通過插件才能有Mocha一樣的功能,而后者簡潔的多。

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

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

// 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的特點(diǎn)在于,開發(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ù)不斷的運(yùn)行上述這些測試框架,會提供實(shí)時的反饋嗎?

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

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

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

? ????? ??
? ?? ??? ????? ???? ??? ??????, ???? ?????? ????. ? ???? ?? ???? ?? ??? ?? ????. ???? ??? ???? ???? ??? ?? admin@php.cn?? ?????.

? AI ??

Undresser.AI Undress

Undresser.AI Undress

???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover

AI Clothes Remover

???? ?? ???? ??? AI ?????.

Video Face Swap

Video Face Swap

??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

???

??? ??

???++7.3.1

???++7.3.1

???? ?? ?? ?? ???

SublimeText3 ??? ??

SublimeText3 ??? ??

??? ??, ???? ?? ????.

???? 13.0.1 ???

???? 13.0.1 ???

??? PHP ?? ?? ??

???? CS6

???? CS6

??? ? ?? ??

SublimeText3 Mac ??

SublimeText3 Mac ??

? ??? ?? ?? ?????(SublimeText3)

???

??? ??

??? ????
1597
29
PHP ????
1487
72
NYT ?? ??? ??
129
836
???
HTML?? ??, ?? ? ???? ??? ?? ?? HTML?? ??, ?? ? ???? ??? ?? ?? Jul 05, 2025 am 02:03 AM

HTML?? ??? ??? ????? ???? ??? ?? ???, ??? ? SEO ??? ?? ? ? ????. 1. ??? ????? ??? ?? ??? ? ??? ??? ????? ?? ????????. 2. ????? ??? ???? ?? ?? ???? ???? ???? ?? ??? ?????. 3. ? ???? ??? ?? ??? ????? ??? ? ?? ?? ?? ?? ????? ?? ??? ????. ?? ???? ??? ??????? ?? ??? ??? ??? ???? ???? ??? ??? ?? ??? ???? ???????.

? ???? ???? ? ???? HTML ??? ?????? ? ???? ???? ? ???? HTML ??? ?????? Jul 03, 2025 am 02:34 AM

? ??? ??? Core HTML ???? ???????. 1. ???? ?? ??? ?? ??? ???? ??? ???? ?? ?? ? ?? ??? ?????. 2. ??? ??? ?? ?? ? SEO? ???? ?? ?? (-), ?? () ? ?? ?? (? :)? ?????. 3. ?????? ???? ????, ????? ???? ??? ???? ????? ?? Aria-Current ??? ???? ?????. 4. ?? ?? ???? ?? ??? ?? ? ?? ??? ?????. ??? ??? ???? ???? ??? ???, ?? ?? ? ?? ?? ???? ?? ? ? ????.

HTML ??? ???? ????? ? ?? ??? ?? ??. HTML ??? ???? ????? ? ?? ??? ?? ??. Jul 03, 2025 am 02:31 AM

htmlattributes.

HTML ?? ??? ???? ?? ??? ?? ?? HTML ?? ??? ???? ?? ??? ?? ?? Jul 07, 2025 am 02:31 AM

HTML ?? ??? ???? ?? ??? ??? ???? ?? ?? ?? ? ???? ?? ??? ????????. 1. ????? ??? ??? ????? ?? ? ?? ?? (? : ??, ??, ???)? ?? ??? ?????. 2. JavaScript? ?? ?? ? ??? ???? ID? ?? ??? ?? ??? ??? ???? ?? ? ????. 3. CSS? ???? ???, ???, ?? ??? ? ??/?? ?? ??? ???? ???? ??? ???? ??? ??? ??????. 4. ???? ????????? : ???? ? ??? ????? ??? ???? JS ???? ???? ????? ???? ??? ???? ??? ??? ??? ???? ??? ?????. ??? ???????

HTML?? ?? ?? ??? ?????? HTML?? ?? ?? ??? ?????? Jul 02, 2025 pm 02:55 PM

?? ?? ??? ???? ???? ?? ?? ??? ?? ??? ???? ?? HTML? ?????. ???? ?? ??? ????. : ?? ??; ② ?? ??? ??????. ③ ???? ????. ④ ?? ?? ??; ⑤ ?? ???? ?????. metadata? ?????. ? ??? OR? ?? ??? ?? ?????. XHTML ???? ?? ?? HTML ????? HTML5? ??? ?????. ??? ???? ??? ????? ?? ?? ? ??? ??? ? ????. ??? ???? ???? ?? Hello? ???????. ?? ?? ??? ???? ???? ??? ???? ????? ???? ??? ??? ?? ?? ???? ???? ??????.

HTML? ???? ?? ?? ?? ??? ??? ????? ??? ?????? HTML? ???? ?? ?? ?? ??? ??? ????? ??? ?????? Jul 04, 2025 am 03:16 AM

?? ?? ???? HTML?? ??? ?? ???? ??????. ???? ??? ?? ??? ???? ??? ?? ??? ??? ?? ?? ??? ???? ????. 1. ??, ???, ??? ?? ?? ??? ???? ????. 2. ??, ???? ?? ?? ??? ???? ????. 3. ?? ?? ???? ?? ? ??? ???? ?? ?????. ?? ??? ??? ?????. ? ?? ??? ??? ??? ?? ???? ? ? ????. style ???? ???? ??? CSS ?? ?? ?????? ?? ???????. Select2? ?? ????? ??? ????? ? ??? ? ????.

HTML ??? ? ??? ??? ?? ? ??? ?????. HTML ??? ? ??? ??? ?? ? ??? ?????. Jul 02, 2025 pm 04:05 PM

?? ? ??? ????? ??? ?? ???? ? ???? ?? ???? HTML ?? ??? ?? ?? ? ? ????. 1. ??? ???? ?? ??? webvtt ???? ???? ??, srclang ? ??? ??? ??????. 2. ?? ??? ?? ?? ?? ??? ???? ?? ??? ???? ?? ??? ??????. 3. ?? ??? JavaScript? ?? ?? ?? ??? ??????? ??? ??? ?? ???? ??? ? ????. 4. ?? ???? ???? ??? ???? ?? ???? ???? ?? ???? ???, ?? ?? ? ?? ?????????.

???? HTML ??? ?? ?? ???. ???? HTML ??? ?? ?? ???. Jul 03, 2025 am 02:41 AM

HTML ?? ??? ???? ?? ??? ????? ??? ?? ???????. 1. ??? ??? ???? SRC? ALT ? IMG? HREF? ???????. 2. ?? ??? ???? ?? ??, ??? ??????? ?? ?? ?? ??? ??? ??? ?? ??? ???? ??????. 3. ???? ??? ?? ? ??? ???? ?? MDN ??? ???? ?? ? ??? CSS? ???? ?? ?? ???? ?? ???? ???????. 4. ?? ??? ??? ????? ? Metacharset = "UTF-8"? ???? ??? UTF-8 ???? ???? ??????.

See all articles