在Mac OS下使用Node.js的簡單教學_node.js
這裡有一篇很好的Node.js 介紹文章great nodejs intro ,它將給你一個非常方便的介紹Node.js 和CouchDB,並給出一個實例實現REST 的服務用於執行書籤的CRUD 操作,使用CouchDB 作為資料庫。
本文將介紹在 Mac OS X 下安裝並開始使用 Node.js ,這個過程大概需要 30 分鐘左右的時間,其中我們還將安裝 CouchDB,並實作基於 CouchDB 的 REST API。
本文假設你機器上已經裝有Git,如果還沒有,請參考此文進行安裝。
安裝 node.js 和 npm
最簡單的方法是在node.js 的官網上通過the nodejs download section 頁面並選擇Mac 下的安裝程序,它將在你的機器上安裝Node.js 和npm (node package manager).
安裝成功後你就可以使用 node 和 npm 指令了。
安裝 CouchDB
因為本文需要使用 CouchDB 來儲存對象,因此也需要安裝 CouchDB.
安裝 CouchDB 稍微麻煩一些,因為我們需要下載原始碼然後編譯I,在此之前需要先安裝 Homebrew ,請執行以下命令:
git clone https://github.com/mxcl/homebrew.git cd homebrew/bin brew install autoconf automake libtool brew install couchdb
重要的提示:CouchDB 之前報出一個問題可能會阻止你安裝,要修復這個問題需要手工編輯 ~/couch/homebrew/Library/Formula/couchdb.rb 文件,編輯內容如下:
class Couchdb < Formula
url 'http://www.apache.org/dyn/closer.cgi?path=couchdb/source/1.1.1/apache-couchdb-1.1.1.tar.gz'
homepage "http://couchdb.apache.org/"
md5 'cd126219b9cb69a4c521abd6960807a6'
請注意需要將 url 中的 source 刪除,最終修改結果如下:
class Couchdb < Formula
url 'http://www.apache.org/dyn/closer.cgi?path=couchdb/1.1.1/apache-couchdb-1.1.1.tar.gz'
homepage "http://couchdb.apache.org/"
md5 'cd126219b9cb69a4c521abd6960807a6'
如果安裝過程被掛起了,你需要 CTRL-C 終止並執行下面命令重試:
更多關於 Mac OS X 上安裝 CouchDB 的資訊請閱讀 "Installing CouchDB on OSX".
一旦 CouchDB 編譯完成,我們可以手動執行 ./couchdb 來啟動它,你可以在瀏覽器中開啟 http://127.0.0.1:5984/_utils 這個位址以驗證 CouchDB 安裝是否成功。
下載教學
現在所需的軟體都已經安裝完成,我們接下來繼續 Node.js 的介紹實例。
首先我們使用 Git 來取得實例原始碼
git clone https://github.com/indexzero/nodejs-intro.git
建立 CouchDB 資料庫
在開始教學之前我們需要建立一個 CouchDB 資料庫,先確保 CouchDB 已經啟動,然後使用以下指令建立資料庫:
$ curl -X PUT http://127.0.0.1:5984/pinpoint-dev10
{"ok":true}
你可以在瀏覽器中造訪 http://127.0.0.1:5984/_utils 就可以看到新建立的資料庫。
這裡還有一個非常棒的 CouchDB 的指南。
開始教學
node js 實例使用模組化的方式構建,lib 目錄包含很多模組,而伺服器腳本在 bin 目錄下。
例如,我們要啟動 CouchDB 教程,可以在 bin 目錄下執行下面命令:
./server -t 02couchdb -s
其中 -t 參數可讓你指定要執行的 lib 目錄下的模組,-s 參數用以設定我們剛建立的 pinpoint-dev 資料庫。
sys - util 變化
根據 Node.js 的版本不同,你可能會看到如下的錯誤或是警告:
v0.7.7-pre
$ ./server -t 02couchdb -s
node.js:247
throw e; // process.nextTick error, or 'error' event on first tick
^
Error: The "sys" module is now called "util".
at sys.js:1:69
at NativeModule.compile (node.js:572:5)
at Function.require (node.js:540:18)
at Function._load (module.js:297:25)
at Module.require (module.js:357:17)
at require (module.js:373:17)
at Object. (/home/ubuntu/nodejs-intro/bin/server:3:11)
at Module._compile (module.js:444:26)
at Object..js (module.js:462:10)
at Module.load (module.js:351:32)
為了避免這個問題,你需要將所有呼叫 `require("sys")` 替換成 `require("util")`
Node v0.6.14 不會拋出錯誤訊息,但會提示警告:
v0.6.14
$ ./server -t 02couchdb -s
The "sys" module is now called "util". It should have a similar interface.
Pinpoint demo server listening for 02couchdb on http://127.0.0.1:8000
運行教學
當你執行某個教學時,會提示一些錯誤:
The "sys" module is now called "util". It should have a similar interface.
node.js:201
throw e; // process.nextTick error, or 'error' event on first tick
^
Error: Cannot find module 'optimist'
at Function._resolveFilename (module.js:332:11)
at Function._load (module.js:279:25)
at Module.require (module.js:354:17)
at require (module.js:370:17)
at Object. (/Users/ddewaele/Projects/Node/nodejs-intro/bin/server:5:12)
at Module._compile (module.js:441:26)
at Object..js (module.js:459:10)
at Module.load (module.js:348:31)
at Function._load (module.js:308:12)
at Array.0 (module.js:479:10)
该教程包含很多依赖,我们需要使用 npm 来下载这些依赖的包。
安装 node 包
Node packages (dependencies) 可通过 npm 命令来安装,例如:
$ npm install optimist npm http GET https://registry.npmjs.org/optimist npm http 200 https://registry.npmjs.org/optimist npm http GET https://registry.npmjs.org/optimist/-/optimist-0.2.8.tgz npm http 200 https://registry.npmjs.org/optimist/-/optimist-0.2.8.tgz npm http GET https://registry.npmjs.org/wordwrap npm http 200 https://registry.npmjs.org/wordwrap npm http GET https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz npm http 200 https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz optimist@0.2.8 ../node_modules/optimist └── wordwrap@0.0.2
这些包将被安装到 node_modules 文件夹中:
$ ls -l ../node_modules/ total 0 drwxr-xr-x 10 ddewaele staff 340 Apr 1 18:54 optimist
本文需要安装如下的 node 包:
npm install winston npm install cradle npm install journey npm install optimist
运行教程
进入 bin 目录,通过下面命令来运行教程:
$ ./server -t 02couchdb -s The "sys" module is now called "util". It should have a similar interface. Pinpoint demo server listening for 02couchdb on http://127.0.0.1:8000
然后打开浏览器访问 http://127.0.0.1:8000/bookmarks ,将会看到如下的结果:
这表示服务已经启动并运行,为了在 CouchDB 中添加点测试数据,我们可以使用 http-console 控制台来访问 CouchDB 的 REST 服务。
安装 http-console
有一个非常棒的工具可以帮助你调试服务,该工具名为 http-console ,你可使用 npm 来安装:
sudo npm install -g http-console
然后就可以在命令行中执行该工具,不幸的是当我们执行该命令时报错了:
$ http-console node.js:201 throw e; // process.nextTick error, or 'error' event on first tick ^ Error: require.paths is removed. Use node_modules folders, or the NODE_PATH environment variable instead. at Function. (module.js:378:11) at Object. (/usr/local/lib/node_modules/http-console/bin/http-console:6:8) at Module._compile (module.js:441:26) at Object..js (module.js:459:10) at Module.load (module.js:348:31) at Function._load (module.js:308:12) at Array.0 (module.js:479:10) at EventEmitter._tickCallback (node.js:192:40)
很麻烦,我们还需要手工编辑 /usr/local/lib/node_modules/http-console/bin/http-console 文件,然后删除下面这一行:
现在 http-console 就可以启动了,无需任何参数,它将连接到 http://localhost:8080 ,如果你需要指定服务器和端口,把它作为第一个参数传递给 http-console 即可。
请注意我们这里使用了 \json 命令用来设置正确的 content-type:
$ http-console http://127.0.0.1:8000 The "sys" module is now called "util". It should have a similar interface. > http-console 0.6.1 > Welcome, enter .help if you're lost. > Connecting to 127.0.0.1 on port 8000. http://127.0.0.1:8000/> \json http://127.0.0.1:8000/>
访问 REST 服务
在 http-console 中,要执行 GET 请求只需要输入 GET /bookmarks 即可:
http://127.0.0.1:8000/> GET /bookmarks HTTP/1.1 200 OK Date: Sun, 01 Apr 2012 17:23:27 GMT Server: journey/0.4.0 Content-Type: application/json;charset=utf-8 Content-Length: 16 Connection: keep-alive { bookmarks: [] }
你也可以使用 JSON 的片段来执行 POST 请求:
http://127.0.0.1:8000/> POST /bookmarks ... { "url": "http://nodejs.org" } HTTP/1.1 200 OK Date: Thu, 05 Apr 2012 11:45:55 GMT Server: journey/0.4.0 Content-Type: application/json;charset=utf-8 Content-Length: 91 Connection: keep-alive { bookmark: { _id: 'WD-G-1', resource: 'Bookmark', url: 'http://nodejs.org' } }
然后再次执行 GET 请求,你就可以看到新插入的数据了:
http://127.0.0.1:8000/> GET /bookmarks HTTP/1.1 200 OK Date: Sun, 01 Apr 2012 17:23:27 GMT Server: journey/0.4.0 Content-Type: application/json;charset=utf-8 Content-Length: 16 Connection: keep-alive { bookmarks: [ { _rev: '1-cfced13a45a068e95daa04beff562360', _id: 'WD-G-1', resource: 'Bookmark', url: 'http://nodejs.org' } ] }

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

導讀:這篇文章本站來跟大家介紹mac鍵盤輸入密碼無反應的相關內容,希望對大家有幫助,一起來看看。蘋果Mac系統無法輸入密碼如何解決還可以嘗試在其他電腦上連接這個鍵盤,看看是否正常運作。如果在另一台電腦上也出現同樣的問題,那麼很可能是鍵盤本身的故障。您可以考慮更換鍵盤或修理它。第一次用你的Mac電腦登入支付寶時,你會發現登入介面,無法輸入密碼。密碼輸入欄顯示:“請點此安裝控制項”,所以支付寶登入需要安裝安全控制。安全控件,可以對你輸入的資訊(金額、密碼等)進行加密保護,提高帳號安全。系

許多Mac用戶往往習慣保留設備的預設名稱,可能從未考慮過更改。很多人選擇沿用初始設定時的名稱,例如「張三的MacBookAir」或簡單的「iMac」。學會如何修改Mac的名稱是一項非常實用的技能,尤其是在擁有多台裝置時,可以幫助你快速區分和管理它們。接下來,我們將一步步教你如何在macOS系統中更改電腦名稱、主機名稱和Bonjour名稱(本地主機名稱)。為什麼要更改Mac名稱?修改Mac名稱不僅能彰顯個性,還能有助於提升使用體驗:個人化你的Mac:預設名稱可能不符合你的口味,換一個自己喜歡的名字

導讀:本篇文章本站來跟大家介紹mac裝程式密碼忘了的相關內容,希望對大家有幫助,一起來看看吧。蘋果電腦安裝軟體密碼忘了怎麼辦首先,在手機設定中找到iCloud並點選開啟。接著,輸入帳號和密碼。在登入按鈕下方有一行小字,提示是否忘記ID或密碼,點選這個選項。通常情況下,當您在登入介面多次輸入錯誤密碼後,MacBookPro會提示您使用已綁定的AppleID來重設密碼。您只需按照系統提示的步驟進行操作即可完成密碼重設。 3.先將Mac關機,然後重新開機,按下電源鍵的同時,立刻按住鍵盤上的com

前言:今天本站來給各位分享關於pkg檔案安裝mac的相關內容,如果能正好解決你現在面臨的問題,別忘了關注本站,現在開始吧! macos過往版本pkg無法安裝升級作業系統:如果您的筆記型電腦正在使用較舊的作業系統版本,建議升級到最新的作業系統版本。因為較舊的版本可能無法支援安裝最新的macOS系統。在磁碟工具中選擇“抹掉”,然後在格式中選擇Macos擴展,不要勾選加密選項,也不要選擇apfs格式,最後點擊“抹掉”按鈕,這樣就可以解決無法完成macOS安裝的問題。將應用程式的圖示拖曳到以App開頭的文件

導語:今天本站來給各位分享關於蘋果mac打字怎麼翻頁的相關內容,如果能正好解決你現在面臨的問題,別忘了關注本站,現在開始吧!蘋果MacBook筆記型電腦的觸控板使用技巧蘋果電腦設定雙指滑動的步驟如下:在電腦桌面上找到「設定」圖示並點擊。在設定介面中選擇“觸控板”,然後點選“捲動縮放”。在滾動縮放選項中勾選“滾動方向:自然”即可完成設定。在蘋果電腦上設定使用兩指滑動的方法很簡單。首先,打開電腦並點擊螢幕頂部的「設定」圖示。在設定介面中,選擇“觸控板”選項。然後點擊“滾動縮放”,確保勾選了“滾動方向

近日有一些小夥伴諮詢小編微信mac如何設定語音訊息自動轉成文字?下面就為大家帶來了微信mac設定語音訊息自動轉成文字的方法,有需要的小夥伴可以來了解了解哦。第一步:首先,打開Mac版微信。如圖:第二步:接著,點選『設定』。如圖:第三步:然後,點選『通用』。如圖:第四步:再勾選『聊天中的語音訊息自動轉成文字』選項即可。如圖:第五步:最後,關閉視窗即可。如圖:

導語:本文本站來為大家介紹mac對檔案剪下到硬碟的相關內容,希望對大家有幫助,一起來看看吧。 Mac電腦如何將照片匯出到行動硬碟Mac電腦可以利用「訪問」(Finder)或「照片」(Photos)應用程式將照片匯出到行動硬碟。使用「訪問」(Finder)匯出照片時,首先要確保行動硬碟已連接到Mac,並且Mac已成功識別。將Mac中的照片轉移到硬碟的步驟很簡單:首先,連接行動硬碟到電腦,然後開啟【啟動台】圖示。接著,在彈出的視窗中找到並點選【照片】圖示。在開啟的【照片】視窗中,按住【Shift】鍵

預設情況下,iPhone以HEIC格式從相機拍攝照片。 HEIC代表高效影像容器,可容納比PNG或JPG檔案更多的像素數據,與其他格式相比,在iPhone儲存上佔用的空間顯著減少。這些檔案在iPhone上效果最佳,但並未在網路上廣泛接受,因為當您與非Apple裝置共用這些檔案時,它們通常會導致圖片模糊/有顆粒感。為了確保HEIC圖片在其他裝置上可相容,可能需要將其轉換為JPG格式。本文將介紹在Mac上將HEIC影像轉換為JPG的方法。如何在Mac上將HEIC照片轉換為JPG[3種方法]方法
