nodejs編譯less
⑴ 如何使用nodejs搭建開發環境
1.安裝NodeJS
1.編譯環境
源代碼編譯器,通常 Unix/linux平台都自帶了C++的編譯器(GCC/G++)。如果沒有,請通過當前發行版的軟體包安裝工具安裝make,g++這些編譯工具。
Debian/Ubuntu下的工具是apt-get
RedHat/centOS下通過yum命令
Mac OS X下你可能需要安裝xcode來獲得編譯器
2.網路加密
其次,如果你計劃在Node.js中啟用網路加密,OpenSSL的加密庫也是必須的。該加密庫是libssl-dev,可以通過apt-get install libssl-dev等命令安裝。
3.手動編譯
wget http://nodejs.org/dist/v0.10.26/node-v0.10.26.tar.gz
tar zxvf node-v0.6.1.tar.gz
cd node-v0.10.26
./configure
上面幾行命令是通過wget命令下載最新版本的代碼,並解壓之。./configure命令將會檢查環境是否符合Nodejs的編譯需要。
make
make install
2.安裝NPM
1.NPM的全稱是Node Package Manager, 是NodeJs的第三方安裝庫。
curl http://npmjs.org/install.sh | sh
curl http://npmjs.org/install.sh是通過curl命令獲取這個安裝shell腳本,按後通過管道符| 將獲取的腳本交由sh命令來執行。
2.更改第三方庫
npm install underscore
[email protected] ./node_moles/underscore
由於一些特殊的網路環境,直接通過npm install命令安裝第三方庫的時候,經常會出現卡死的狀態。幸運的是國內CNode社區的@fire9 同學利用空餘時間搭建了一個鏡像的NPM資源庫,伺服器架設在日本,可以繞過某些不必要的網路問題。你可以通過以下這條命令來安裝第三方庫:
npm --registry "http://npm.hacknodejs.com/
如果你想將它設為默認的資源庫,運行下面這條命令即可:
npm config set registry "http://npm.hacknodejs.com/ "
通過npm安裝包。安裝好之後會自動被安裝到 /usr/local/bin 目錄下,而相依的函式庫也會自動安裝到 /usr/local/lib/node 目錄下,實在是非常方便。
3.安裝NodeJS調試環境
1.用npm命令安裝全局模式的 node-inspector組件
sudo npm install -g node-inspector
2.更改埠
修改 node-inspector/lib/config.js的埠
』web-port』: {
desc: 『Port to host the inspector』,
convert: conversions.stringToInt,
defaultValue: 6868
},
3.使用
node-inspector啟動一個調試工具
在chrome瀏覽器中輸入http://127.0.0.1:6868/debug?port=5858打開chrome的調試模式
使用node debug調試nodeJS項目
node --debug-brk=5858 read.js
可以在chrome中查看到調試信息
4.使用Sublime構建NodeJS
設置Sublime的Builder->>
Tools ->> Build System ->> New Build System
將如下代碼寫入
{
「cmd」: ["/usr/local/bin/node", 「$file」],
「file_regex」: 「^[ ]File "(…?)」, line ([0-9]*)",
「selector」: 「source.javascript」
}
保存為NodeJs.sublime-build文件
如此可以直接使用Com+B來使用nodejs運行程序
⑵ linux 安裝nodejs為什麼要先編譯
方法/步驟 1 首先從nodejs官方網站下載對應版本的nodejs包。 本篇我們要安裝的ubuntu14.04 64位系統上,固選擇linux 64位版本。 2 然後將包上傳到ubuntu14.04伺服器上。 通過xftp工具上傳,待上傳進度為100%時候執行下一步操作。
⑶ 請教一些Nodejs 編譯安裝時遇到的問題
請教一些Nodejs 編譯安裝時遇到的問題
如果同一個源文件中,外部變數與局部變數同名,則在局部變數的作用范圍內,外部變數被「屏蔽」,即它不起作用。
8.9 變數的存儲類別
8.9.1 動態存儲方式與靜態動態存儲方式
前面已經介紹了,從變數的作用域(即從空間)角度來分,可以分為全局變數和局部變數。
從另一個角度,從變數值存在的作時間(即生存期)角度來分,可以分為靜態存儲方式和動態存儲方式。
靜態存儲方式:是指在程序運行期間分配固定的存儲空間的方式。
動態存儲方式:是在程序運行期間根據需要進行動態的分配存儲空間的方式。
用戶存儲空間可以分為三個部分:
1) 程序區;
2) 靜態存儲區;
3) 動態存儲區;
全局變數全部存放在靜態存儲區,在程序開始執行時給全局變數分配存儲區,程序行完畢就釋放。在程序執行過程中它們占據固定的存儲單元,而不動態地進行分配和釋放;
動態存儲區存放以下數據:
1) 函數形式參數;
2) 自動變數(未加static聲明的局部變數);
⑷ node源碼系列----編譯nodejs-v16
系統window10
安裝vs2019(必須)
安裝python2.7或者2.8 python3會有問題
必須管理員身份打開cmd,進到node項目目錄下執行 vcbuild release進行編譯,需要等個十幾分鍾。
如果出現報錯是 Could not find NASM, install it or build with openssl-no-asm. See BUILDING.md,查了下BUILDING.md,總結了下,這里有三種方式 如果指令集是AVX-512需要安裝gas(2.26以上) 和nasm(2.11.8以上);如果指令集是AVX2需要安裝gas(2.23以上) Xcode llvm nasm ;上面兩個都不選,可以加參數跳過openssl-no-asm,我選擇了跳過。命令換成vcbuild release openssl-no-asm就ok了。
⑸ 如何系統地學習Node.js
1.《nodejs入門》,才38頁,很好,書中項目做一下,學會基礎
2.《nodejs開發指南》。180多頁,很好,書中項目做一下,知道基礎,及基本的配合express,jquery,bootstrap,資料庫MongoDB
另附一些node實現書中例子的一些變化使用Express3.0實現<Node.js開發指南
3.開始看express創建初始項目的源代碼對比2中的書,發現express更新後新的特性:Migrating from 3.x to 4.x · strongloop/express Wiki · GitHub
看express官網api
英文:Express 4.x - API Reference
中文:Express - api參考
4.之後發現,一個系列課程,從零開始nodejs系列文章:從零開始nodejs系列文章
其中 文章: Node.js開發框架Express4.x:Node.js開發框架Express4.x ,詳細介紹了express4項目的基本內容,很好
文章:用Nodejs連接Mysql:用Nodejs連接MySQL,介紹mysql與node基本,及資料庫連接池,宕機,連接超時等node問題解決辦法,node-mysql官網也有相應英文解決辦法
5.node+json:node.js裡面怎麼創建和解析JSON格式的文件?
更全的是這一個How to parse JSON using Node.js? 但要注意如果require json,只載入一次,更新之後,再使用,可能還是老版本
json不好查看的問題:讀寫 JSON 文件 · Issue #73 · zhanhongtao/blog · GitHub
6.node郵件驗證:Nodejs發郵件組件Nodemailer
選擇適合的Node.js授權認證策略
7.很全的node mole Moles · joyent/node Wiki · GitHub
8.文件操作,要麼官方文檔:File System Node.js v0.12.2 Manual & Documentation,
或者node基礎-文件系統node.js 文件操作,有一個要注意的是 存儲文件時,比如writefile寫路徑 要使用path.join(__dirname, 「相對於當前文件路徑」); 如path.join(__dirname, "../upload/recordList/" + generateID("record") + ".json");,後端要採用這種dirname的形式,前端可以直接寫相對於當前文件路徑的形式