iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >在Mac OS下使用Node.js的简单教程
  • 903
分享到

在Mac OS下使用Node.js的简单教程

简单教程OS 2022-06-04 17:06:48 903人浏览 泡泡鱼
摘要

这里有一篇很好的 node.js 介绍文章 great nodejs intro ,它将给你一个非常方便的介绍 node.js 和 CouchDB,并给出一个实例实现 REST 的服务用于执行书签的 CRU

这里有一篇很好的 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 文件,编辑内容如下:

require 'formula'

 

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 删除,最终修改结果如下:

require 'formula'

 

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 终止并执行下面命令重试:

./brew install -v couchdb

更多关于 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 的版本不同,你可能会看到如下的错误或者是警告:

$ node -v

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 不会抛出错误信息,但会提示警告:

$ node -v

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

运行教程

当你运行某个教程时,会提示一些错误:


$ ./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'
    }
  ]
}

--结束END--

本文标题: 在Mac OS下使用Node.js的简单教程

本文链接: https://www.lsjlt.com/news/12245.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Wireshark的下载安装及简单使用教程
    一、下载 下载地址:https://www.wireshark.org/download.html 打开后是这样的界面,点击相应的版本下载(一般是64位的windows系统): 二、安装 下载完...
    99+
    2023-10-25
    wireshark 网络 服务器
  • Node.js 单元测试入门:Chai 的简单教程
    在 Node.js 中进行单元测试时,Chai 是一个非常受欢迎的断言库。它提供了丰富的断言方法,可以帮助我们轻松地验证测试结果。本文将介绍 Chai 的基本用法,并通过一些示例演示如何使用 Chai 进行单元测试。 安装 Chai 首先...
    99+
    2024-02-12
    Node.js 单元测试 Chai
  • butterfly简单使用教程
    butterfly 可以让你在浏览器中显示日常终端,喜欢吗?一起来试试吧。安装butterfly...
    99+
    2023-06-05
  • w3af简单使用教程
    w3af简单使用教程w3af是一个Web应用程序***和检查框架.该项目已超过130个插件,其中包括检查网站爬虫,SQL注入(SQL Injection),跨站(XSS),本地文件包含(LFI),远程文件包含(RFI)等.该项目的目标是要建...
    99+
    2023-01-31
    简单 教程 w3af
  • MySQL使用简单教程
    本文通过演示如何使用MySQL客户机程序创建和使用一个简单的数据库,允许连接到MySQL服务器、运行查询和查看结果。 mysql也可以在批处理模式下使用:预先将查询放在文件中,然后告诉mysql执行文件的内容。 要查看mysql提供的选项列...
    99+
    2023-08-17
    mysql 服务器 数据库
  • C# Chart 简单使用教程
    Chart控件可以用来绘制波形图、柱状图、饼图、折线图等,用来进行数据表现是很不错的,现在简单说一下这个控件的使用方法 XAML: <Window x:Class="WpfA...
    99+
    2022-11-21
    C# Chart使用 C# Chart
  • .NET HttpClient简单使用教程
    创建一个名为HttpClientTest的Web API项目 新建Clients文件夹,用于存放自定义的HttpClient 在Clients下新建一个MyHttpClient类...
    99+
    2024-04-02
  • Docker swarm 简单使用教程
    swarm 三台虚拟机 132,133,134 1.初始化一个集群 并把自己加入集群中 # 初始化主节点 docker swarm init --advertise-addr 1...
    99+
    2024-04-02
  • Navicat For MySQL的简单使用教程
    1.前提是必须先安装好MySQL数据库(Mac下安装MySQL数据库见前一篇) 2.安装Navicat 3.点击navicate左上角:连接->MySQL->先测链接下,如果提示连接成功,就可以...
    99+
    2024-04-02
  • node.js做一个简单的爬虫案例教程
    准备工作 首先,你需要下载 nodejs,这个应该没啥问题吧 原文要求下载 webstrom,我电脑上本来就有,但其实不用下载,完全在命令行里面操作就行 创建工程...
    99+
    2024-04-02
  • UsbEAm Hosts Editor简单使用教程
    USBAM Hosts Editor是一个用于编辑Windows主机文件的工具。它可以帮助用户轻松地添加、编辑或删除主机文件中的条目...
    99+
    2023-09-21
    使用
  • Mac OS下用Homebrew安装开源工具的过程
    这篇文章主要介绍“Mac OS下用Homebrew安装开源工具的过程”,在日常操作中,相信很多人在Mac OS下用Homebrew安装开源工具的过程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Mac OS下...
    99+
    2023-06-04
  • python-docx的简单使用示例教程
    python-docx的简单使用 ''' 设置表格所有单元格的四个边为0.5磅,黑色,实线 可以使用返回值,也可以不使用 ''' def 设置表格网格线为黑色实线(table_obj...
    99+
    2023-05-18
    python-docx使用 python-docx
  • python中turtle库的简单使用教程
    Turtle库是Python中的一个绘图库,它可以在画布上绘制各种形状和图案。下面是一个简单的使用教程:1. 导入turtle库:在...
    99+
    2023-08-17
    Python
  • Qt Creator使用教程的简单说明
    目录Qt Creator 欢迎界面Qt Creator 新建项目1)左边栏2) 代码编辑器Qt Creator 编辑 UIQt Creator 生成和运行程序Qt 在很长的一段时间内...
    99+
    2024-04-02
  • 微信小程序搭载node.js服务器的简单教程
    目录1.node.js2.微信小程序3.发送请求4.data数据存放在服务端总结此文章用到的是用node.js搭载的服务器! 1.node.js 检测电脑是否安装node.js,可以...
    99+
    2022-12-27
    node.js开发微信小程序 nodejs开发服务端 微信小程序搭载nodejs服务器
  • phpstudy2020安装及简单使用教程
    phpstudyV8.0以上使用教程 简介安装步骤配置搭建网站自己的第一个PHP程序 官网 最新版长这样 简介 按我的理解,phpstudy是一个集成式的PHP运行环境,虽然是个软件,但他实...
    99+
    2023-09-13
    服务器 php apache 工具
  • Mac OS下WireGuard客户端的安装与配置使用
    1. 安装wireguard-tools liu-d推荐 官网安装/下载地址:https://www.wireguard.com/install/ 参考原创:Mac OS下WireGuard客户端的安装与配置 最简单:直接用一个美国区的账号...
    99+
    2023-08-22
    综合资源
  • python对RabbitMQ的简单入门使用教程
    目录(一)RabbitMQ的简介(二)RabbitMQ的安装(三)python操作RabbitMQ(四)RabbitMQ简单模式(五)RabbitMQ发布订阅模式(六)RabbitM...
    99+
    2024-04-02
  • PythonOpenCV简单的绘图函数使用教程
    目录1、画直线的函数是cv2.line2、画矩形的函数是cv2.rectangle3、画圆函数是cv2.circle4、画椭圆的函数是cv2.elipes5、画多边形的函数是cv2....
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作