検索
ホームページウェブフロントエンドjsチュートリアルMac OS で Node.js を使用するための簡単なチュートリアル_node.js

こちらは、Node.js に関する優れた入門記事です。素晴らしい Nodejs の紹介 では、Node.js と CouchDB についての非常に便利な紹介と、Perform CRUD 用の REST サービスの実装例を示します。 CouchDB をデータベースとして使用したブックマークの操作。

この記事では、Mac OS X で Node.js をインストールして使用を開始する方法を紹介します。このプロセスには約 30 分かかります。また、CouchDB をインストールし、CouchDB に基づいて REST API を実装します。

この記事は、Git が既にマシンにインストールされていることを前提としています。そうでない場合は、この記事 を参照してインストールしてください。

node.js と npm をインストールします

最も簡単な方法は、nodejs ダウンロード セクション ページから、node.js 公式 Web サイトにアクセスし、Mac でインストーラーを選択することです。これにより、Node.js と npm (ノード パッケージ マネージャー) がインストールされます。 🎜> インストールが成功したら、node および npm コマンドを使用できるようになります。

CouchDB をインストールします

この記事ではオブジェクトを保存するために CouchDB が必要であるため、CouchDB もインストールする必要があります。

CouchDB のインストールは、ソース コードをダウンロードしてコンパイルする必要があるため、少し面倒です。その前に、次のコマンドを実行してください。



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 ファイルを手動で編集する必要があります。編集内容は次のとおりです。 🎜>




コードをコピーします コードは次のとおりです:requir 'formula'
クラス Couchdb
URL 'http://www.apache.org/dyn/closer.cgi?path=couchdb/source/1.1.1/apache-couchdb-1.1.1.tar.gz'
ホームページ「http://couchdb.apache.org/」
md5 'cd126219b9cb69a4c521abd6960807a6'


URL 内のソースを削除する必要があることに注意してください。最終的な変更結果は次のとおりです。




コードをコピーします コードは次のとおりです:requir 'formula'
クラス Couchdb
URL 'http://www.apache.org/dyn/closer.cgi?path=couchdb/1.1.1/apache-couchdb-1.1.1.tar.gz'
ホームページ「http://couchdb.apache.org/」
md5 'cd126219b9cb69a4c521abd6960807a6'


インストールプロセスがハングした場合は、CTRL-C を押して終了し、次のコマンドを実行して再試行する必要があります:



コードをコピーします コードは次のとおりです:./brew install -v couchdb

Mac OS X への CouchDB のインストールの詳細については、「OSX への CouchDB のインストール」をお読みください。

CouchDB がコンパイルされたら、./couchdb を手動で実行して起動できます。ブラウザでアドレス http://127.0.0.1:5984/_utils を開いて、CouchDB のインストールが成功したかどうかを確認できます。

201562495503417.jpg (1009×575)

チュートリアルをダウンロード

必要なソフトウェアがインストールされたので、Node.js の導入例を続けてみましょう。

まず、Git を使用してインスタンスのソース コードを取得します

git clone https://github.com/indexzero/nodejs-intro.git
CouchDB データベースを作成します
チュートリアルを開始する前に、CouchDB データベースを作成する必要があります。まず CouchDB が起動していることを確認してから、次のコマンドを使用してデータベースを作成します。
$カール -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 - ユーティリティの変更

Node.js のバージョンによっては、次のエラーまたは警告が表示される場合があります:



コードをコピー コードは次のとおりです:
$ node -v
v0.7.7-pre

$ ./server -t 02couchdb -s

ノード.js:247
throw e; // process.nextTick エラー、または最初のティック時の 'error' イベント
^
エラー: 「sys」モジュールは「util」と呼ばれるようになりました。
sys.js:1:69
で NativeModule.compile (node.js:572:5)
で Function.require (node.js:540:18)
で Function._load (module.js:297:25)
で Module.require (module.js:357:17)
で 要求時 (module.js:373:17)
オブジェクトで (/home/ubuntu/nodejs-intro/bin/server:3:11)
Module._compile (module.js:444:26)
で Object..js (module.js:462:10)
で Module.load (module.js:351:32)
で この問題を回避するには、すべての呼び出し `require("sys")` を `require("util")` に置き換える必要があります

ノード v0.6.14 はエラー メッセージをスローしませんが、警告を表示します:



コードをコピー コードは次のとおりです:
$ node -v
v0.6.14

$ ./server -t 02couchdb -s
「sys」モジュールは「util」と呼ばれるようになり、同様のインターフェースを持つはずです。
http://127.0.0.1:8000
で 02couchdb をリッスンしているピンポイント デモ サーバー チュートリアルを実行する

チュートリアルを実行すると、いくつかのエラーが表示されます:


コードをコピー コードは次のとおりです:
$ ./server 02couchdb
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 ,将会看到如下的结果:
 

复制代码 代码如下:
{"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 文件,然后删除下面这一行:
 

复制代码 代码如下:
require.paths.unshift(path.join(__dirname, '..', 'lib'));

现在 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'
    }
  ]
}

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Python vs. JavaScript:コミュニティ、ライブラリ、リソースPython vs. JavaScript:コミュニティ、ライブラリ、リソースApr 15, 2025 am 12:16 AM

PythonとJavaScriptには、コミュニティ、ライブラリ、リソースの観点から、独自の利点と短所があります。 1)Pythonコミュニティはフレンドリーで初心者に適していますが、フロントエンドの開発リソースはJavaScriptほど豊富ではありません。 2)Pythonはデータサイエンスおよび機械学習ライブラリで強力ですが、JavaScriptはフロントエンド開発ライブラリとフレームワークで優れています。 3)どちらも豊富な学習リソースを持っていますが、Pythonは公式文書から始めるのに適していますが、JavaScriptはMDNWebDocsにより優れています。選択は、プロジェクトのニーズと個人的な関心に基づいている必要があります。

C/CからJavaScriptへ:すべてがどのように機能するかC/CからJavaScriptへ:すべてがどのように機能するかApr 14, 2025 am 12:05 AM

C/CからJavaScriptへのシフトには、動的なタイピング、ゴミ収集、非同期プログラミングへの適応が必要です。 1)C/Cは、手動メモリ管理を必要とする静的に型付けられた言語であり、JavaScriptは動的に型付けされ、ごみ収集が自動的に処理されます。 2)C/Cはマシンコードにコンパイルする必要がありますが、JavaScriptは解釈言語です。 3)JavaScriptは、閉鎖、プロトタイプチェーン、約束などの概念を導入します。これにより、柔軟性と非同期プログラミング機能が向上します。

JavaScriptエンジン:実装の比較JavaScriptエンジン:実装の比較Apr 13, 2025 am 12:05 AM

さまざまなJavaScriptエンジンは、各エンジンの実装原則と最適化戦略が異なるため、JavaScriptコードを解析および実行するときに異なる効果をもたらします。 1。語彙分析:ソースコードを語彙ユニットに変換します。 2。文法分析:抽象的な構文ツリーを生成します。 3。最適化とコンパイル:JITコンパイラを介してマシンコードを生成します。 4。実行:マシンコードを実行します。 V8エンジンはインスタントコンピレーションと非表示クラスを通じて最適化され、Spidermonkeyはタイプ推論システムを使用して、同じコードで異なるパフォーマンスパフォーマンスをもたらします。

ブラウザを超えて:現実世界のJavaScriptブラウザを超えて:現実世界のJavaScriptApr 12, 2025 am 12:06 AM

現実世界におけるJavaScriptのアプリケーションには、サーバー側のプログラミング、モバイルアプリケーション開発、モノのインターネット制御が含まれます。 2。モバイルアプリケーションの開発は、ReactNativeを通じて実行され、クロスプラットフォームの展開をサポートします。 3.ハードウェアの相互作用に適したJohnny-Fiveライブラリを介したIoTデバイス制御に使用されます。

next.jsを使用してマルチテナントSaaSアプリケーションを構築する(バックエンド統合)next.jsを使用してマルチテナントSaaSアプリケーションを構築する(バックエンド統合)Apr 11, 2025 am 08:23 AM

私はあなたの日常的な技術ツールを使用して機能的なマルチテナントSaaSアプリケーション(EDTECHアプリ)を作成しましたが、あなたは同じことをすることができます。 まず、マルチテナントSaaSアプリケーションとは何ですか? マルチテナントSaaSアプリケーションを使用すると、Singの複数の顧客にサービスを提供できます

next.jsを使用してマルチテナントSaaSアプリケーションを構築する方法(フロントエンド統合)next.jsを使用してマルチテナントSaaSアプリケーションを構築する方法(フロントエンド統合)Apr 11, 2025 am 08:22 AM

この記事では、許可によって保護されたバックエンドとのフロントエンド統合を示し、next.jsを使用して機能的なedtech SaaSアプリケーションを構築します。 FrontEndはユーザーのアクセス許可を取得してUIの可視性を制御し、APIリクエストがロールベースに付着することを保証します

JavaScript:Web言語の汎用性の調査JavaScript:Web言語の汎用性の調査Apr 11, 2025 am 12:01 AM

JavaScriptは、現代のWeb開発のコア言語であり、その多様性と柔軟性に広く使用されています。 1)フロントエンド開発:DOM操作と最新のフレームワーク(React、Vue.JS、Angularなど)を通じて、動的なWebページとシングルページアプリケーションを構築します。 2)サーバー側の開発:node.jsは、非ブロッキングI/Oモデルを使用して、高い並行性とリアルタイムアプリケーションを処理します。 3)モバイルおよびデスクトップアプリケーション開発:クロスプラットフォーム開発は、反応および電子を通じて実現され、開発効率を向上させます。

JavaScriptの進化:現在の傾向と将来の見通しJavaScriptの進化:現在の傾向と将来の見通しApr 10, 2025 am 09:33 AM

JavaScriptの最新トレンドには、TypeScriptの台頭、最新のフレームワークとライブラリの人気、WebAssemblyの適用が含まれます。将来の見通しは、より強力なタイプシステム、サーバー側のJavaScriptの開発、人工知能と機械学習の拡大、およびIoTおよびEDGEコンピューティングの可能性をカバーしています。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません