成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

NodeJs能給前端小白帶來什么。(一)

Binguner / 2389人閱讀

摘要:引子的引子第一次寫博客,本文是寫給和我一樣的小白的,大牛請(qǐng)謹(jǐn)慎食用,歡迎拍磚。是稱霸全平臺(tái)的偉大的一步,當(dāng)然對(duì)于我們普通前端小白并不太關(guān)心會(huì)怎么發(fā)展,我們只想高高興興上班平平安安回家,所謂老板和我談理想,我說我的理想是不上班。

引子的引子

第一次寫博客,本文是寫給和我一樣的小白的,大牛請(qǐng)謹(jǐn)慎食用,歡迎拍磚。

引子

隨著Node.js 4.0 的發(fā)布,這次是nodejs和iojs合并后的第一個(gè)穩(wěn)定版本。關(guān)于nodejs和iojs的那點(diǎn)事可以看這個(gè)Node.js與io.js那些事兒 ,天下大勢(shì),分久必合,合久必分??傊詈蠼Y(jié)局是好的。
Node.js是JavaScript稱霸全平臺(tái)的偉大的一步,當(dāng)然對(duì)于我們普通前端小白并不太關(guān)心JavaScript會(huì)怎么發(fā)展,我們只想 高高興興上班 平平安安回家,所謂老板和我談理想,我說我的理想是不上班。所以我們更多追求的是效率和質(zhì)量。盡量在下班前把今天的任務(wù)寫完。

前端自動(dòng)化

這個(gè)標(biāo)題有點(diǎn)大,所謂自動(dòng)化就是把我們的雙手從無意義的重復(fù)勞動(dòng)解放出來,可以干其他事(嘿嘿嘿)。相信入門了的前端都會(huì)有一款自己使用熟的css預(yù)處理器,如果還不知道預(yù)處理器是啥玩意?趕緊戳這里,珍愛生命,早用早享受,這里拿我用熟的LESS舉例。我使用LESS預(yù)編譯CSS分三個(gè)時(shí)期。

第一時(shí)期,less.js直接引入瀏覽器

嗯,然后chrome直接本地不能調(diào)試?!WTF?一查文檔

需要特別注意的是,由于瀏覽器端使用時(shí)是使用ajax來拉取.less文件,因此直接在本機(jī)文件系統(tǒng)打開(即地址是file://開頭)或者是有跨域的情況下會(huì)拉取不到.less文件,導(dǎo)致樣式無法生效。

這里有兩個(gè)解決方案,一是換瀏覽器,最新的火狐是支持跨域的。二是用webstorm打開。然而對(duì)于我并不喜歡FF,和打開時(shí)間超過30s的webstorm。最后是這個(gè)方式并不能直接部署到服務(wù)器,容易出各種錯(cuò),因此我進(jìn)入了第二個(gè)時(shí)期。

第二時(shí)期,cmd編譯less文件

這里要請(qǐng)出我們的神器 Nodejs 了。這里以windows開發(fā)平臺(tái)為例,下載官方的msi文件,安裝。
打開界面cmd輸入

npm install -g less

很好,接下來只要cd到你的less文件夾

lessc example.less example.css

你的html里只需要引用這個(gè)css就可以了,很好!那么問題又來了,根本不是我要的效果嘛。萬一你有多個(gè)less文件,咋辦?而且你改一次就得lessc一次,能把你整奔潰。好在機(jī)智(懶惰)的歪果仁早就發(fā)現(xiàn)這個(gè)問題了,于是進(jìn)入第三個(gè)時(shí)期自動(dòng)化!

第三個(gè)時(shí)期,自動(dòng)化編譯less

先想想我們要什么效果,嗯,最好是less文件一改,就幫我編譯,最好還能編譯合并多個(gè)文件,當(dāng)然能壓縮下代碼就更nice了。當(dāng)然生產(chǎn)環(huán)境下方便調(diào)試我們是不會(huì)壓縮代碼的。
好,接下來請(qǐng)出我們的第二款神器 gulp!

npm install --g gulp

一般說gulp我們都會(huì)扯扯nodejs的stream,流開發(fā),具體理論看這里,我簡(jiǎn)單理解為gulp不會(huì)重復(fù)幫我們編譯less文件沒有改變的部分,只編譯改變的部分。簡(jiǎn)直太高大上了,嗨起來!
嗨回來我們先來看看gulp是如何做到上面的要求的。當(dāng)然我們需要規(guī)范我們的編程環(huán)境。

建立如圖的目錄結(jié)構(gòu)

然后cd到你的目錄執(zhí)行

npm init //懶得寫package.json,這里會(huì)跳出各種填空題,按需填寫。
npm install gulp --save-dev  //這里開始裝插件gulp,--save-dev 將存入package.json

很好已經(jīng)和我們的目標(biāo)很接近了,然后在根目錄新建gulpfile.js ,這個(gè)文件是我們自動(dòng)化的主文件。把下面的代碼復(fù)制到這個(gè)文件(最好自己手打一遍加深印象)

var gulp    = require("gulp"); //
var concat  = require("gulp-concat"); //合拼文件的插件
var less = require("gulp-less"); //編譯less
var plumber = require("gulp-plumber"); //和下面這個(gè)構(gòu)成less編譯報(bào)錯(cuò)插件
var notify = require("gulp-notify");

gulp.task("compileLess",function(){ //task傳二個(gè)參數(shù),第一個(gè)是這個(gè)任務(wù)的名字,第二個(gè)是執(zhí)行的函數(shù)
    gulp.src("./source/less/*.less") //你的less文件放在哪里
        .pipe(plumber(
        {errorHandler: notify.onError("Error: <%= error.message %>")}
        ))//報(bào)錯(cuò)觸發(fā)
        .pipe(less())//編譯你的less文件
        .pipe(concat("base.css"))//合拼less文件并重命名為base.css
        .pipe(gulp.dest("./build/css"))//編譯后的css文件放哪啊
})

到這里我們已經(jīng)完成了一大部分,運(yùn)行

gulp compileLess 

很棒!已經(jīng)可以合拼編譯less文件并且less報(bào)錯(cuò)的時(shí)候不會(huì)中斷。接下來就是自動(dòng)編譯了

gulp.task("watchLess",function(){
    gulp.watch("./source/less/*.less",["compileLess"]); 
    //簡(jiǎn)單粗暴的函數(shù)名watch,幫我盯著!第一個(gè)參數(shù)是盯著的位置,第二個(gè)是要執(zhí)行的task
    //這里的所有參數(shù)都是可以通過數(shù)組傳值的
To be continue...

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/78227.html

相關(guān)文章

  • NodeJs能給前端小白帶來什么。(

    摘要:引子的引子第一次寫博客,本文是寫給和我一樣的小白的,大牛請(qǐng)謹(jǐn)慎食用,歡迎拍磚。是稱霸全平臺(tái)的偉大的一步,當(dāng)然對(duì)于我們普通前端小白并不太關(guān)心會(huì)怎么發(fā)展,我們只想高高興興上班平平安安回家,所謂老板和我談理想,我說我的理想是不上班。 引子的引子 第一次寫博客,本文是寫給和我一樣的小白的,大牛請(qǐng)謹(jǐn)慎食用,歡迎拍磚。 引子 隨著Node.js 4.0 的發(fā)布,這次是nodejs和iojs合并后的...

    liuchengxu 評(píng)論0 收藏0
  • 小白指南)在 Linux 服務(wù)器上安裝 Nodejs、Nginx 以及部署 Web 應(yīng)用

    摘要:首先,的命令和并不能在全局使用。文章有意將瀏覽器不能訪問服務(wù)器的兩個(gè)問題寫出來,是因?yàn)樽髡咴谂挪閱栴}的時(shí)候,發(fā)現(xiàn)在服務(wù)器直接訪問的頁面,能很好地檢查排除問題在百度尋找問題答案的時(shí)候,發(fā)現(xiàn)這種做法也得到了不少人的肯定。 前段時(shí)間要把項(xiàng)目部署到服務(wù)器,期間踩了不少的坑。故寫下這篇文章,從零開始把自己部署的過程都記錄下來,希望能給其他像我一樣的小白一點(diǎn)幫助。如果有疏漏的地方,請(qǐng)各位客官指出,...

    glumes 評(píng)論0 收藏0
  • 淺談前后端分離與實(shí)踐 之 nodejs 中間層服務(wù)(二)

    摘要:服務(wù)端任需要進(jìn)行校驗(yàn)來達(dá)到數(shù)據(jù)的可靠性前端的路由可能在服務(wù)端并不存在等等這一系列重用性的問題。串行并行,大幅縮短請(qǐng)求時(shí)間。關(guān)于作者本人主頁本文部分圖片段落參考文章淘寶前后端分離實(shí)踐微信公眾號(hào)會(huì)不定期推送前端技術(shù)文章,歡迎關(guān)注 一、背景 書接上文,淺談前后端分離與實(shí)踐(一) 我們用mock服務(wù)器搭建起來了自己的前端數(shù)據(jù)模擬服務(wù),前后端開發(fā)過程中只需定義好接口規(guī)范,便可以相互進(jìn)行各自的開發(fā)...

    ddongjian0000 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<