最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

什么是MEAN?JavaScript編程中的MEAN是什么意思?

 更新時(shí)間:2014年12月18日 08:57:22   投稿:junjie  
這篇文章主要介紹了什么是MEAN?JavaScript編程中的MEAN是什么意思?,跟lampp一樣,MEAN是指現(xiàn)代web應(yīng)用全棧開(kāi)發(fā)工具一個(gè)組合,需要的朋友可以參考下

前段日子看到一篇文章提到MEAN這個(gè)詞,什么是MEAN?

其實(shí)MENA就是 MongoDB(非關(guān)系數(shù)據(jù)庫(kù)) + Express(模板引擎) + AngularJS(MVC javascript庫(kù)) + NodeJS(服務(wù)器腳本)的簡(jiǎn)稱。

它們共同構(gòu)造 基于 javascript 的 現(xiàn)代web應(yīng)用全棧開(kāi)發(fā)工具。

MongoDB:

是一種強(qiáng)大、靈活、可擴(kuò)展的數(shù)據(jù)存儲(chǔ)方式。

它擴(kuò)展了關(guān)系型數(shù)據(jù)庫(kù)的眾多有用功能,如輔助索引、范圍查詢、和排序、它內(nèi)置的對(duì)MapReduce式聚合的支持和對(duì)地理空間索引的支持。

它將傳統(tǒng)數(shù)據(jù)庫(kù)行(row)的概念換成,文檔(document)模型,所謂文檔模型其實(shí)就是一個(gè)數(shù)組對(duì)象。

我們來(lái)看一下文檔模型:

{“_id” : 1 , “greeting” : “hello,world!” , “foo” : 3}

每個(gè)文檔都會(huì)帶有一個(gè)_id的字段,該文檔模型代表數(shù)據(jù)庫(kù)中有一條記錄,包含字段 greeting , foo 和  _id;

Express:

關(guān)于末班引擎Express,我想用按句話來(lái)描述它:

是一個(gè)簡(jiǎn)潔而靈活的node.jsWeb應(yīng)用框架, 提供一系列強(qiáng)大特性幫助你創(chuàng)建各種Web應(yīng)用。

豐富的HTTP工具以及來(lái)自Connect框架的中間件隨取隨用,創(chuàng)建強(qiáng)健、友好的API變得快速又簡(jiǎn)單

Express 不對(duì) node.js 已有的特性進(jìn)行二次抽象,我們只是在它之上擴(kuò)展了Web應(yīng)用所需的功能

AngularJS:

AngularJS是由google開(kāi)發(fā)的一款js庫(kù),它與backone一樣同為MVC腳本庫(kù)。

幾乎每種語(yǔ)言的第一課都是講hello world,按照慣例我們也來(lái)一個(gè):

復(fù)制代碼 代碼如下:

<!doctype html>
<html ng-app>
<head>
 <script src="http://code.angularjs.org/angular-1.0.1.min.js"></script>
</head>
<body>
 Hello {{'World'}}!
</body>
</html>

<html ng-app>

聲明了該頁(yè)面使用angularJS,當(dāng)加載該頁(yè)時(shí),標(biāo)記ng-app告訴AngularJS處理整個(gè)HTML頁(yè)并引導(dǎo)應(yīng)用。
這個(gè)例子在頁(yè)面打印hello world,有的人就奇怪了,hello world搞這么復(fù)雜干嘛。

其實(shí){{}}里內(nèi)容是一種數(shù)據(jù)綁定的形式,看完下個(gè)例子你就知道它的強(qiáng)大之處了。

我門(mén)接著看下一個(gè)例子:

復(fù)制代碼 代碼如下:

<!doctype html>
<html ng-app>
<head>
 <script src="angular-1.0.1.min.js"></script>
</head>
<body>
 Your name: <input type="text" ng-model="yourname" placeholder="World">
 <hr>
 Hello {{yourname || 'World'}}!
</body>
</html>

在瀏覽器里打開(kāi)這個(gè)頁(yè)面,然后試著在輸入框輸入隨意字符,你會(huì)發(fā)現(xiàn)這些輸入的字符立即更新顯示在問(wèn)候語(yǔ)中。 是不是很神奇?

的念。 輸入框的任何更改會(huì)立即反映到模型變量(一個(gè)方向),模型變量的任何更改都會(huì)立即反映到問(wèn)候語(yǔ)文本中(另一方向)。

該示例有一下幾點(diǎn)重要的注意事項(xiàng):

1. 文本輸入指令<input ng-model=”yourname” />綁定到一個(gè)叫yourname 的模型變量。

2. 雙大括號(hào)標(biāo)記將yourname 模型變量添加到問(wèn)候語(yǔ)文本。

3. 你不需要為該應(yīng)用另外注冊(cè)一個(gè)事件偵聽(tīng)器或添加事件處理程序!

NodeJS

是由Ryan Dahl開(kāi)發(fā)的一款高性能服務(wù)器js平臺(tái)。

它是集于V8引擎開(kāi)發(fā)的,V8引擎是google開(kāi)發(fā)的 javascript引擎,不是汽車的V8引擎 – -是一款高性能引擎,它的性能遠(yuǎn)遠(yuǎn)超越其他腳本語(yǔ)言。

nodeJS使用的是 異步I / O的通信方式,這種方式和AJAX很類似:

復(fù)制代碼 代碼如下:

$.post("url", {title:"post請(qǐng)求"}, function(data){
 console.log("收到響應(yīng)");
})
console.log("發(fā)送ajax結(jié)束");

nodejs的請(qǐng)求方式:

復(fù)制代碼 代碼如下:

var fs = require('fs');
fs.readFile("/path", function(err, file){
 console.log("讀取文件完成");
});
console.log("發(fā)起讀取文件");

我們?cè)倏聪旅孢@個(gè)例子:

當(dāng)同時(shí)執(zhí)行兩個(gè)請(qǐng)求的時(shí)候,總耗時(shí)取決于耗時(shí)最多的那個(gè),而不是兩個(gè)請(qǐng)求的耗時(shí)總和,因?yàn)樗麄儍蓚€(gè)是并行的。

復(fù)制代碼 代碼如下:

//第一個(gè)請(qǐng)求
var fs = require('fs');
fs.readFile("/path1", function(err, file){
 console.log("讀取文件1完成");
});
//第二個(gè)請(qǐng)求
fs.readFile("/path2", function(err, file){
 console.log("讀取文件2完成");
});
console.log("發(fā)起讀取文件");

nodejs高性能的另一個(gè)原因是基于事件驅(qū)動(dòng):

node將前端瀏覽器中的 事件 引入后端,配合異步I/O,將事件點(diǎn)暴露給業(yè)務(wù)邏輯。

事件的變成方式具有輕量級(jí),松耦合,只關(guān)注事物點(diǎn)等優(yōu)勢(shì)。

相關(guān)文章

  • Node.js折騰記一:讀指定文件夾,輸出該文件夾的文件樹(shù)詳解

    Node.js折騰記一:讀指定文件夾,輸出該文件夾的文件樹(shù)詳解

    這篇文章主要介紹了Node.js讀指定文件夾輸出該文件夾文件樹(shù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • nodejs實(shí)現(xiàn)文件或文件夾上傳功能的代碼示例

    nodejs實(shí)現(xiàn)文件或文件夾上傳功能的代碼示例

    在平常的工作中,經(jīng)常會(huì)遇到需要將本地項(xiàng)目文件同步到遠(yuǎn)端服務(wù)器的情況,所以每次遇到都需要考慮如何將文件上傳到服務(wù)器上,所以本文就給大家介紹一下nodejs實(shí)現(xiàn)文件或文件夾上傳功能,需要的朋友可以參考下
    2023-08-08
  • Nodejs把接收?qǐng)D片base64格式保存為文件存儲(chǔ)到服務(wù)器上

    Nodejs把接收?qǐng)D片base64格式保存為文件存儲(chǔ)到服務(wù)器上

    這篇文章主要介紹了Nodejs把接收?qǐng)D片base64格式保存為文件存儲(chǔ)到服務(wù)器上,文中代碼較簡(jiǎn)短,需要的朋友可以參考下
    2018-09-09
  • node.js連接mongoose數(shù)據(jù)庫(kù)方法詳解

    node.js連接mongoose數(shù)據(jù)庫(kù)方法詳解

    之前我們都是通過(guò)shell來(lái)完成對(duì)數(shù)據(jù)庫(kù)的各種操作的,在開(kāi)發(fā)中大部分時(shí)候我們都需要通過(guò)程序來(lái)完成對(duì)數(shù)據(jù)庫(kù)的操作。而Mongoose就是一個(gè)讓我們可以通過(guò)Node來(lái)操作MongoDB的模塊
    2022-08-08
  • pm2工具在Node.js開(kāi)發(fā)部署中的重要作用詳解

    pm2工具在Node.js開(kāi)發(fā)部署中的重要作用詳解

    這篇文章主要為大家介紹了pm2工具在Node.js開(kāi)發(fā)部署中的重要作用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • 在Node.js中使用TypeScript的方法示例

    在Node.js中使用TypeScript的方法示例

    在前端開(kāi)發(fā)中,隨著TypeScript的不斷普及,越來(lái)越多的開(kāi)發(fā)者使用TypeScript進(jìn)行開(kāi)發(fā),然而,在后端開(kāi)發(fā)中,在Node.js中使用 TypeScript還是相對(duì)較少見(jiàn)的,這篇文章將介紹如何在Node.js中配置TypeScript ,以及如何使用TypeScript來(lái)開(kāi)發(fā)高質(zhì)量的應(yīng)用程序
    2023-06-06
  • 使用Node.js實(shí)現(xiàn)ORM的一種思路詳解(圖文)

    使用Node.js實(shí)現(xiàn)ORM的一種思路詳解(圖文)

    這篇文章主要介紹了用Node.js實(shí)現(xiàn)ORM的一種思路詳解(圖文),需要的朋友可以參考下
    2017-10-10
  • node 版本切換的實(shí)現(xiàn)

    node 版本切換的實(shí)現(xiàn)

    這篇文章主要介紹了node 版本切換的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • 詳解使用Nodejs內(nèi)置加密模塊實(shí)現(xiàn)對(duì)等加密與解密

    詳解使用Nodejs內(nèi)置加密模塊實(shí)現(xiàn)對(duì)等加密與解密

    這篇文章主要介紹了使用Nodejs內(nèi)置加密模塊實(shí)現(xiàn)對(duì)等加密與解密,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • nodejs的壓縮文件模塊archiver用法示例

    nodejs的壓縮文件模塊archiver用法示例

    這篇文章主要介紹了nodejs的壓縮文件模塊archiver用法,結(jié)合實(shí)例形式分析了nodejs使用archiver模塊實(shí)現(xiàn)文件壓縮操作的步驟與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2017-01-01

最新評(píng)論

沙湾县| 彰化县| 穆棱市| 青河县| 铁力市| 郑州市| 屏南县| 遵义市| 荆门市| 安仁县| 来安县| 鄂尔多斯市| 鹤岗市| 本溪市| 方正县| 岢岚县| 军事| 迁西县| 甘孜| 米易县| 高唐县| 敦化市| 长海县| 万盛区| 齐河县| 安康市| 新野县| 财经| 临颍县| 山丹县| 彭泽县| 吉木萨尔县| 水富县| 治多县| 鄂尔多斯市| 江口县| 维西| 荆门市| 岗巴县| 鞍山市| 青浦区|