當前位置:首頁 » 操作系統 » express源碼

express源碼

發布時間: 2022-07-29 07:17:16

⑴ 請教Devexpress 11.2.5安裝順序與方法

先安裝開發環境,這個要有的直接安裝Devexpress 11.2.5就可以了如果你有重新編譯的能力,使用源碼自己編譯。

⑵ 為什麼引用express, var app=express(); 最後有個()

可分析源碼所得:
var express = require('express');
var app = express();
app.get('/', function (req, res) {

res.send('Hello World!');
});
var server = app.listen(3000, function () {
var host = server.address().address;
var port = server.address().port; console.log('Example app listening at http://%s:%s', host, port);
});

下面將分析上述例子中出現的幾個API:
var app = express();
打開node_moles目錄找到依賴的源碼文件:./express/lib/express.js.該文件導出函數createApplication.
express()即調用了createApplication()函數,app變數是createApplication函數的返回值。
下面是createApplication函數的構造函數:
function createApplication() {
//創建app對象
var app = function(req, res, next) {
app.handle(req, res, next);
};
//繼承node的事件對象
mixin(app, EventEmitter.prototype, false);
//繼承./application對象
mixin(app, proto, false);
//app.request和response繼承node原生的request和response對象
app.request = { __proto__: req, app: app };
app.response = { __proto__: res, app: app };
//初始化app對象
app.init();
return app;
}
app.init()方法調用的是繼承自./application.js的方法。
下面是application.js中的init方法:
app.init = function init() {
this.cache = {};
this.engines = {};
this.settings = {};
this.defaultConfiguration();
};

所以express()本質上就是調用了createApplication()方法,返回了一個express對象
express()分析結束。

⑶ 如何系統地學習 Express JS

如何系統地學習 Express JS ?
雖然我找到了文檔翻譯,可還沒學 Node
另外也沒搜到相關的博文

5 個回答

24贊同反對,不會顯示你的姓名
夏天 A competent programmer
24 人贊同
先從基礎說起吧,Node.js使用javascript語言,所以JS的語法、特性及OO肯定要先掌握了,再學習node的api,特別需要領會事件驅動及非同步編程的思想,這算是一個很大的轉變,Node主要用於網路應用,所以網路編程內容多看下。
express是一個基於node的web框架(集成web伺服器+mvc),當然其實不用框架,使用node自己弄一個web伺服器和mvc框架也不是很麻煩(Node為網路而生,當然強大的不止這點),但是有優秀的express,封裝了很多常用功能,推薦用。
學習express肯定是先把api過一遍,文檔中的簡單例子都試試,但這肯定是不夠的,要深入了解還是得看源碼,express主要依賴connect(基於node的http伺服器框架,提供大量的中間件幫助用戶構建強大靈活的web server),所以深入connect也是有必要的。

徐雷
6 人贊同
不能一上來就學express,因為他是基於node的框架,不懂node的原理就無法學會express。而node的理論基礎又是javascript的event-loop非同步機制,所以那裡應該是你學習node.js的起點。 別把學node.js當做學java或php那樣看待,原因就在於他的非同步編程思想。

node的中文資料很少,推薦從這篇英文文章看起

王宇鵬 寫代碼的產品, 前端慎入
1 人贊同
說實話這東西很難學的, 一是中文資料太少, 而是裡面融合了太多了概念. 建議先學js, 然後學習js的mvc, 模板, 然後在學一個後端語言,例如php 和codeigniter框架 然後在學nodejs 基本各種概念弄明白了 學起來就快了

匿名用戶
好多年前的問題啊.
Express in action 強烈推薦.

知乎用戶 電力行業、信息工程師
非同步是個難點,與過去的傳統設計有所不同。如果可以深刻領會掌握非同步的概念,node.js才算是掌握了

⑷ devexpress demo 的源碼 在哪兒

devexpressdemo在DevExpress文件夾->Components->Demos裡面就是Demo和源碼;

根據下圖路徑,打開即可找到demo的源碼:


DEMO是demonstration的縮寫。

DEMO的中文含意為「示範」、「展示」、「樣片」、「樣稿」,常被用來稱呼具有示範或展示功能及意味的事物。

DevExpress是DeveloperExpress的縮寫,DevExpress是一家全球知名的控制項開發公司。

⑸ 如何編譯DEVEXPRESS15.2.4的源碼

本文以DevExpress 11.1.8舉例 必須滿足幾個條件
1、 必須有DXperience相應版本的全部源代碼SourceCode。把全部源代碼復制到X:\Program Files\DevExpress XXX\Components\Sources目錄。目標目錄的默認位置是在C:\Program Files\DevExpress 20XX\Components\Sources(其中X.X為應替換相應的版本號,以下不再重復說明)。
2、 必須有一個強名稱的文件。該文件可以是你自己生成的,或者是團隊項目中約定的某人生成的文件。要創建此文件,必須執行下面的命令建立你自己的密鑰:sn -k StrongKey.snk並且復制新生成的強命名密鑰StrongKey.snk文件到Sources目錄下的/ Devexpress.Key /目錄。該強名稱Sn.exe工具位於/Program Files/Microsoft Visual Studio 8/SDK/v2.0/Bin目錄。當然如果是約定的某人生成的文件則直接將文件復制到/ Devexpress.Key /即可。PS。該文件擁有一個對應的PublicKeyToken之後也要使用。
3、 解壓編譯腳本。將下載的相應版本的編譯腳本壓縮包解壓,然後將所有文件復制到DXperience安裝目錄的Sources子目錄下。
下面開始處理
===============================================================================================
如果之前已安裝過其它版本的DevExpress要執行清除程序集的步驟,如果是初次安裝可以跳過這一步
運行C:\Program Files\DevExpress 2011.1\Components\Sources\clear.bat
註:執行該步驟時如果出現「程序集鎖定」的提示請關閉正在運行的程序,重啟IIS Admin 服務,然後在執行一次clear.bat
===============================================================================================
執行C:\Program Files\DevExpress 2011.1\Components\Sources\buildall.cmd
等待執行完畢,執行完畢後會生成兩個文件
C:\Program Files\DevExpress 2011.1\Components\Sources\PublicKeyToken.txt -- 公鑰文件
C:\Program Files\DevExpress 2011.1\Components\Sources\DevExpress.Key\StrongKey.snk -- 私鑰文件
===============================================================================================
打開PublicKeyToken.txt,復制那一串字元如:aea63221faec5671 共16位
在命令行運行如下命令替換公鑰
「%ProgramFiles%\DevExpress 2011.1\Components\Tools\DXperience\ProjectConverter-console.exe」 /r /k:<換成你的公鑰> 「<源碼解壓的目錄>」
在這里我的是這樣
「%ProgramFiles%\DevExpress 2011.1\Components\Tools\DXperience\ProjectConverter-console.exe」 /r /k:233e5082d2bfa4a0 「%ProgramFiles%\DevExpress 2011.1\Components\Sources」
至此控制項部分已經從新編譯完畢。但是Demo卻不能運行了,若要查看Demo就使用公鑰對Demo重新編譯一次就可以了
編譯完源文件後要
開始 → 程序 → Developer Express v2011 vol 1 → Components → Tools → ToolboxCreator
重建下IDE的工具欄
更新以前項目的公鑰
經過重新編譯後的DevExpess控制項私鑰和公鑰都已經改變,如果在編譯前使用過DevExpess的控制項,在編譯後將無法繼續使用
我們可以通過DevExpress的升級工具對項目進行升級,步驟如下:
開始 -> 程序 -> Developer Express v2011 vol 1 -> Components -> Tools -> ProjectConverter
打開 Project Convert (11.1.6.0) 後可以按單個項目(Project folder)升級或多個項目同時升級(Folder list)
勾選 show advanced option(顯示高級選項) 後在 Custom public key token 欄輸入
C:\Program Files\DevExpress 2011.1\Components\Sources\PublicKeyToken.txt 文件中的公鑰值 如:233e5082d2bfa4a0
Hint path behavior 選擇 Upldate ,然後點擊右下角的 Upgrade 按鈕,等待程序替換公鑰完畢後就可以了

⑹ express 怎麼部署伺服器

  1. 到小鳥雲購買雲伺服器
    作為一個窮逼+不熟悉伺服器配置的菜鳥。選了最便宜的套餐:
    CPU: 1核 / 內存: 1024 MB / 帶寬:1Mbps / 操作系統: CentOS 7.0
    購買環節會設置 ssh 登陸密碼,記下密碼。
    登陸到小鳥雲,查看購買的實例。
    注意公網 IP,下一步會用到

2. 登陸伺服器
sudo ssh 你的伺服器ip地址

提示輸入mac的密碼,提示輸入伺服器密碼。
輸入後連接成功並顯示伺服器信息,如下:

登陸伺服器後。這里對於我這個 linux 菜鳥有個大坑………就是 Linux 系統常見的目錄結構和文件放置區域。
使用 root 用戶身份登陸後,會直接進入到下圖 紅色箭頭標出的 root 目錄下。先 cd .. 跳轉到上一層, 再 ls -a ,就可以看到類似下圖的目錄結構了。

3.安裝 node 和 mongodb

node – 編譯後二進制文件應在/usr/local/bin/node 下
mongodb –安裝在/usr/local/mongodb 下

下面就一步一步來,首先升級CentOS

yum -y update1

升級後,跳轉到 /usr/local/src , 這個文件夾通常用來存放軟體源代碼

cd /usr/local/src1

下載 nodejs 代碼,也可以使用scp命令直接上傳,因為下載實在太慢了。

wget http://nodejs.org/dist/v0.12.5/node-v0.12.5.tar.gz
//注*根據最新版本號為准12

解壓

tar -xzvf node-v0.12.5.tar.gz1

進入解壓後的文件夾

cd node-v0.12.51

執行配置腳本來進行編譯預處理

./configure1

編譯源代碼

make
//注*這個時間可能會很久12

當編譯完成後,需要使之在系統范圍內可用, 編譯後的二進制文件將被放置到系統路徑,默認情況下,Node二進制文件應該放在/user/local/bin/node文件夾下

make install1

安裝 express 和 forever,這兩個模塊都推薦 global 安裝

npm -g install express forever1

建立超級鏈接, 不然 sudo node 時會報 「command not found」

sudo ln -s /usr/local/bin/node /usr/bin/node
sudo ln -s /usr/local/lib/node /usr/lib/node
sudo ln -s /usr/local/bin/npm /usr/bin/npm
sudo ln -s /usr/local/bin/node-waf /usr/bin/node-waf
sudo ln -s /usr/local/bin/forever /usr/bin/forever12345

Nodejs到這里就基本安裝完成了。

下面來安裝mongodb

軟體安裝位置:/usr/local/mongodb
數據存放位置:/var/mongodb/data
日誌存放位置:/var/mongodb/logs

首先下載安裝包

cd /usr/local
wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.9.tgz12

解壓安裝包,重命名文件夾為mongodb

tar zxvf mongodb-linux-x86_64-2.6.0.tgz
mv mongodb-linux-x86_64-2.6.0 mongodb12

創建數據和日誌存放目錄

mkdir /var/mongodb
mkdir /var/mongodb/data
mkdir /var/mongodb/logs123

打開rc.local文件,添加CentOS開機啟動項:

vim /etc/rc.d/rc.local1

將mongodb啟動命令追加到本文件中,讓mongodb開機自啟動:

/usr/local/mongodb/bin/mongod --dbpath=/var/mongodb/data --logpath
/var/mongodb/logs/log.log -fork12

關閉 vim 後,直接手動啟動mongodb

/usr/local/mongodb/bin/mongod --dbpath=/var/mongodb/data --logpath
/var/mongodb/logs/log.log -fork12

看到類似的信息,說明已啟動成功。我在這里發了個傻,以為26308是port號,導致後面設置port時折騰了好久。其實這里的 forked process 和 port 號是兩個東西, 這個是程序本身在Server上的進程。

forked process: 263081

啟動mongo shell

cd /usr/local/mongodb/bin/
./mongo12

在 mongo shell 中創建管理員及資料庫

use admin //admin 資料庫
db.createUser({
user: "用戶名",
pwd:"登陸密碼",
roles:["userAdminAnyDatabase"] //超級管理員
})

use databaseFoo //nodeapp 要連接的資料庫
db.createUser({
user: "用戶名",
pwd:"登陸密碼",
roles:["readWrite"] //讀寫許可權
})12345678910111213

到這里 mongodb 基本已經安裝設置完成了。具體數據的遷移導入可自行研究。

4.配置及啟動node app

我們把 nodeapp 的程序放在 /home 下

⑺ res.json 後,後面的代碼還會繼續執行么

最後一句代碼是會運行的,但是內容不會寫回。這個要從express源碼查原因,res.json最後調用的是res.send返回,我摘入了一些res的源碼內容: ... var res = mole.exports = { __proto__: http.ServerResponse.prototype }; ... res.send = function(body){ ... // respond this.end(head ? null : body); return this; }; 最後是通過ServerResponse.prototype.end返回的,可以預計這個方法是會把socket給關閉(沒有去繼續追源碼了,要詳細了解可以去追查nodejs的源碼),這就是為什麼後面一句res.json不會返回(注意代碼是運行的!)。 所以最好的寫法是在前兩個res.json後加上return if(!user){ console.log("Error"); res.json({"status":-1,"msg":"Username Not exists"}); return; } if(user.password != password){ res.json({"status":-1,"msg":"Password Error"}); }

⑻ 怎麼用npm安裝express

怎麼用npm安裝express
打開git命令行,在github中clone下來npm的源碼包

git下載地址:

git clone --recursive git://github.com/isaacs/npm.git
下載完成後,打開nodejs命令行窗口,進入到npm的代碼文件夾下,使用下邊命令安裝

node cli.js install npm -gf

其中-gf是指全局安裝的意思,你可以不要,這樣會安裝在當前文件夾下,當前工程下而已。
安裝完成了npm後,你就可以安裝其他想要的nodejs模塊了,比如安裝express命令行輸入:

npm install express -gf

⑼ 如何在自己的程序內加入devexpress源碼

devexpress demo在DevExpress 文件夾->Components->Demos裡面就是Demo和源碼;
根據下圖路徑,打開即可找到demo的源碼:DEMO是demonstration的縮寫。
DEMO的中文含意為「示範」、「展示」、「樣片」、「樣稿」,常被用來稱呼具有示範或展示功能及意味的事物。
DevExpress是 Developer Express的縮寫,DevExpress是一家全球知名的控制項開發公司。

熱點內容
android使用at命令 發布:2025-01-18 20:54:51 瀏覽:216
phptiny 發布:2025-01-18 20:54:03 瀏覽:987
怎麼給漢字加密 發布:2025-01-18 20:49:44 瀏覽:865
遍歷javamap 發布:2025-01-18 20:39:05 瀏覽:624
我的世界租伺服器哪裡最便宜 發布:2025-01-18 20:38:50 瀏覽:564
dhcp伺服器地址租期時間怎麼調整 發布:2025-01-18 20:28:02 瀏覽:267
加密區的圖片 發布:2025-01-18 20:22:17 瀏覽:474
key文件加密 發布:2025-01-18 20:12:07 瀏覽:736
etl伺服器怎麼用 發布:2025-01-18 20:08:18 瀏覽:281
硫酸鎂演算法 發布:2025-01-18 19:53:00 瀏覽:670