成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

一步步搭建JavaScript框架——初始化項(xiàng)目

omgdog / 2784人閱讀

摘要:雖然還不夠,但是開(kāi)始了。一步步搭建框架項(xiàng)目名稱一開(kāi)始我做的次是是的一開(kāi)始什么也沒(méi)做,除了從和上注冊(cè)了一個(gè)叫做的庫(kù)然后在我們還沒(méi)有開(kāi)始寫代碼的時(shí)候版本就已經(jīng)是這個(gè)速度好快。。生成項(xiàng)目框架為了簡(jiǎn)化這一個(gè)痛苦的過(guò)程,我們還是用。

從開(kāi)始打算寫一個(gè)MV*,到一個(gè)簡(jiǎn)單的demo,花了幾天的時(shí)間,雖然很多代碼都是復(fù)制/改造過(guò)來(lái)的,然而It Works(nginx的那句話會(huì)讓人激動(dòng)有木有)。現(xiàn)在他叫l(wèi)ettuce,代碼 https://github.com/phodal/lettuce,如果有興趣可以加入我們。

雖然js還不夠expert,但是開(kāi)始了。

一步步搭建JavaScript框架 JavaScript項(xiàng)目名稱

一開(kāi)始我做的3次commits是:

* e4e6e04 - Add README.md (3 weeks ago) 
* 37411d7 - publish bower (3 weeks ago) 
* aabf278 - init project (3 weeks ago) 

是的一開(kāi)始什么也沒(méi)做,除了從bowernpm上注冊(cè)了一個(gè)叫做lettuce的庫(kù):

{
  "name": "lettuce",
  "version": "0.0.2",
  "authors": [
    "Fengda HUANG "
  ],
  "description": "A Mobile JavaScript Framework",
  "main": "index.js",
  "moduleType": [
    "amd",
    "node"
  ],
  "keywords": [
    "lettuce",
    "mobile"
  ],
  "license": "MIT",
  "homepage": "http://lettuce.phodal.com",
  "private": false,
  "ignore": [
    "**/.*",
    "node_modules",
    "bower_components",
    "test",
    "tests"
  ]
}

然后在我們還沒(méi)有開(kāi)始寫代碼的時(shí)候版本就已經(jīng)是0.0.2這個(gè)速度好快。。總結(jié)如下:

取一個(gè)好的名字

在npm和bower上挖一個(gè)坑給自己

開(kāi)始寫README.md

所以我的README.md是這樣子的

#Lettuce

> A is Mobile JavaScript Framework

Coming soon

是的,我們的代碼已經(jīng)Coming soon了。

生成Javascript項(xiàng)目框架

為了簡(jiǎn)化這一個(gè)痛苦的過(guò)程,我們還是用yeoman。

安裝Yeoman lib生成器

1.安裝yeoman

npm install -g yo

2.安裝generator-lib

 npm install -g generator-lib

3.創(chuàng)建項(xiàng)目

 mkdir ~/lettuce && cd $_
 yo lib

接著我們就迎來(lái)了

     _-----_
    |       |
    |--(o)--|   .--------------------------.
   `---------′  |    Welcome to Yeoman,    |
    ( _′U`_ )   |   ladies and gentlemen!  |
    /___A___   "__________________________"
     |  ~  |
   __".___."__
 ′   `  |° ′ Y `

[?] What do you want to call your lib? Lettuce
[?] Describe your lib: A Framework for Romantic
[?] What is your GitHub username? phodal
[?] What is your full name? Fengda Huang
[?] What year for the copyright? 2015

省略上百字,你的目錄里就會(huì)有

.
|____.editorconfig
|____.gitattributes
|____.gitignore
|____.jshintrc
|____bower.json
|____demo
| |____assets
| | |____main.css
| | |____normalize.css
| |____index.html
|____dist
| |____Lettuce.js
| |____Lettuce.min.js
|____docs
| |____MAIN.md
|____Gruntfile.js
|____index.html
|____LICENSE.txt
|____package.json
|____README.md
|____src
| |_____intro.js
| |_____outro.js
| |____main.js
|____test
| |____all.html
| |____all.js
| |____lib
| | |____qunit.css
| | |____qunit.js

這么多的文件。

Build JavaScript項(xiàng)目

于是我們執(zhí)行了一下

grunt

就有了這么多的log:

Running "concat:dist" (concat) task
File "dist/Lettuce.js" created.

Running "jshint:files" (jshint) task
>> 1 file lint free.

Running "qunit:files" (qunit) task
Testing test/all.html .OK
>> 1 assertions passed (20ms)

Running "uglify:dist" (uglify) task
File "dist/Lettuce.min.js" created.

Done, without errors.

看看我們的Lettuce.js里面有什么

(function(root, undefined) {
  "use strict";
/* Lettuce main */
// Base function.
var Lettuce = function() {
  // Add functionality here.
  return true;
};
// Version.
Lettuce.VERSION = "0.0.1";
// Export to the root, which is probably `window`.
root.Lettuce = Lettuce;
}(this));

我們的庫(kù)寫在立即執(zhí)行函數(shù)表達(dá)式里面。這樣便是和jQuery等庫(kù)一樣了。

grunt里的任務(wù)包含了:

jshint 代碼檢查

contact 合并js到一個(gè)文件

minify js 壓縮js

qunit 單元測(cè)試

這樣我們就可以輕松上路了。

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/91471.html

相關(guān)文章

  • 步步搭建物聯(lián)網(wǎng)系統(tǒng)——無(wú)處不在的三劍客

    摘要:無(wú)處不在的三劍客這時(shí)我們終于了解了我們的三劍客,他們也就這么可以結(jié)合到一起了,是這一切的基礎(chǔ)。無(wú)處不在的三劍客就這樣到了這里,寫得似乎很多也很少,但是還是沒(méi)有做出來(lái)一個(gè)東西,于是我們朝著這樣一個(gè)方向前進(jìn)。 無(wú)處不在的三劍客 這時(shí)我們終于了解了我們的三劍客,他們也就這么可以結(jié)合到一起了,HTML+Javascript+CSS是這一切的基礎(chǔ)。而我們用到的其他語(yǔ)言如PHP、Python、R...

    dreamans 評(píng)論0 收藏0
  • 步步搭建物聯(lián)網(wǎng)系統(tǒng)——無(wú)處不在的CSS

    摘要:與類選擇器最常一起出現(xiàn)的是選擇器,不過(guò)這個(gè)適用于比較高級(jí)的場(chǎng)合,諸如用控制的時(shí)候就需要用到選擇器。在線查看一步步搭建物聯(lián)網(wǎng)系統(tǒng)圖靈電子書版一步步搭建物聯(lián)網(wǎng)系統(tǒng) 無(wú)處不在的CSS 或許你覺(jué)得CSS一點(diǎn)兒也不重要,而事實(shí)上,如果說(shuō)HTML是建筑的框架,CSS就是房子的裝修。那么Javascript呢,我聽(tīng)到的最有趣的說(shuō)法是小三——還是先讓我們回到代碼上來(lái)吧。 CSS 下面就是我們之前...

    andot 評(píng)論0 收藏0
  • 步步搭建物聯(lián)網(wǎng)系統(tǒng)——無(wú)處不在的CSS

    摘要:與類選擇器最常一起出現(xiàn)的是選擇器,不過(guò)這個(gè)適用于比較高級(jí)的場(chǎng)合,諸如用控制的時(shí)候就需要用到選擇器。在線查看一步步搭建物聯(lián)網(wǎng)系統(tǒng)圖靈電子書版一步步搭建物聯(lián)網(wǎng)系統(tǒng) 無(wú)處不在的CSS 或許你覺(jué)得CSS一點(diǎn)兒也不重要,而事實(shí)上,如果說(shuō)HTML是建筑的框架,CSS就是房子的裝修。那么Javascript呢,我聽(tīng)到的最有趣的說(shuō)法是小三——還是先讓我們回到代碼上來(lái)吧。 CSS 下面就是我們之前...

    dreambei 評(píng)論0 收藏0
  • 學(xué)習(xí) JavaScript:9 個(gè)常見(jiàn)錯(cuò)誤阻礙你進(jìn)步

    摘要:錯(cuò)誤好高騖遠(yuǎn)最常見(jiàn)的錯(cuò)誤之一就是在理解概念之后立即采取行動(dòng)。其實(shí)這也是人們常說(shuō)要放棄學(xué)習(xí)的常見(jiàn)原因之一。當(dāng)項(xiàng)目逐漸深入時(shí),他們就放棄學(xué)習(xí)了。關(guān)鍵點(diǎn)是,認(rèn)真學(xué)習(xí)你正在學(xué)習(xí)的東西,你會(huì)得到進(jìn)步。挑戰(zhàn)意味著你正在提升個(gè)人能力,這將使你進(jìn)步。 showImg(https://segmentfault.com/img/remote/1460000011209193); 前言 很多人嘗試學(xué)習(xí) Ja...

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

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

0條評(píng)論

閱讀需要支付1元查看
<