本地搭建Node环境并起RESTful Api服务

课程介绍看这里:https://www.cnblogs.com/zhangran/p/11963616.html

项目github地址:https://github.com/hellozhangran/happy-egg-server

说明:本想分两章讲环境搭建和起api服务,但操作下来确实过于简单。但考虑到整个系列的完整性也不能不讲,那就把这两篇合二为一吧

本地搭建Node环境

开发环境主要是指Node、MongoDB。本人是用的mac电脑,所以本地环境也是按照mac搭搭建的。

Node

  1. 最简单的方式,直接从官网下.pkg文件,图形化安装即可。https://nodejs.org/en/
  2. 找到 Download for macOS (x64),下载稳定版本,当前的版本是:12.14.0 LTS
  3. 图形化安装会自动配置环境变量,装完后node -v 验证安装是否成功。

MongoDB

安装之前要了解的

  1. 先确认下自己的Mac上是否装过,如果自己习惯使用homebrew,brew list查看是否用brew装过mongodb。如果是用homebrew装的,默认配置文件路径是/usr/local/etc/mongod.conf

  2. 如果没有装 mongodb,就不要用 homebrew 安装了,因为现在homebrew已经不支持mongodb了。原因我在readme中也说了,具体可以看这里 brew安装mongodb报错。关于mongo的八卦新闻感兴趣的可以看下这里惨遭红帽弃用,MongoDB 要凉凉了吗?

重新安装mongodb

  1. 下载

    cd /usr/local && sudo curl -O https://fastdl.mongodb.org/osx/mongodb-osx-ssl-x86_64-4.0.9.tgz
  2. 解压

    sudo tar -zxvf mongodb-osx-ssl-x86_64-4.0.9.tgz
  3. 重命名为 mongodb 目录

    sudo mv mongodb-osx-x86_64-4.0.9/ mongodb
  4. 配置PATH

    export PATH=/usr/local/mongodb/bin:$PATH

    或者去.base_profile中设置path

    • 这一步完成后,mongod就可以执行了。很多教程会在/usr/local/etc中配置mongo.conf文件,在/user/local/var中配置mongo.log&data文件,不过使用下来发现,经常找不到。我们可以简单的配置下,把这些文件都放到/user/local/mongodb下面
  5. 配置 mongod.conf
    • 在/user/local/mongodb下新建mongod.conf文件并写入
    # Store data in /usr/local/mongodb/data instead of the default /data/db
    dbpath = /usr/local/mongodb/data # Append logs to /usr/local/mongodb/log/mongo.log
    logpath = /usr/local/mongodb/log/mongo.log
    logappend = true # Only accept local connections
    bind_ip = 127.0.0.1
    • mongod.conf中指定的一个data目录,一个mongo.log文件要自己手动创建下。
  6. 启动mongod服务 mongod --config /usr/local/mongodb/mongod.conf
  7. 进入mongo数据库 mongo

本章内容与第5篇内容极为相似,可参考

部署项目到腾讯云服务器

使用Express起RESTful Api服务

简单的api demo

  1. 安装 express 包:npm install --save express
  2. 用 express 创建一个服务,文件名 app.js
const express = require('express');
const app = express();
app.use('/api', (req, res, next) => {
res.json('hello i am api');
});
app.listen('3000', () => {
console.log('listen: 3000');
});
  1. 用 node 启动该文件 node app.js,在浏览器输入 localhost:3000/api 就会看到。

express的使用非常简单,去官网或任何一个网站找找就能起一个express服务。写到这我都担心太简单会被大家吐槽。不急,慢慢来吧,更精彩的会逐渐呈现。

【重学Node.js 第1&2篇】本地搭建Node环境并起RESTful Api服务的更多相关文章

  1. 深入浅出Node.js(一):什么是Node.js

    Node.js从2009年诞生至今,已经发展了两年有余,其成长的速度有目共睹.从在github的访问量超过Rails,到去年底Node.jsS创始人Ryan Dalh加盟Joyent获得企业资助,再到 ...

  2. 深入浅出Node.js(一):什么是Node.js(转贴)

    以下内容转自:http://www.infoq.com/cn/articles/what-is-nodejs/ 作者:崔康 [编者按]:Node.js从2009年诞生至今,已经发展了两年有余,其成长的 ...

  3. The Node.js Event Loop, Timers, and process.nextTick() Node.js事件循环,定时器和process.nextTick()

    个人翻译 原文:https://nodejs.org/en/docs/guides/event-loop-timers-and-nexttick/ The Node.js Event Loop, Ti ...

  4. 前端使用node.js的http-server开启一个本地服务器

    前端使用node.js的http-server开启一个本地服务器 在写前端页面中,经常会在浏览器运行HTML页面,从本地文件夹中直接打开的一般都是file协议,当代码中存在http或https的链接时 ...

  5. 《Node.js入门》CentOS 6.5下Node.js Web开发环境搭建笔记

    近期想尝试一下英特尔的基于WebRTC协同通信开发套件,所以须要在本地搭建Node.js Web的开发測试环境. 这里讲的是CentOS 下的搭建方法.使用Windows的小伙伴请參考: <No ...

  6. Node.js学习笔记(1):Node.js快速开始

    Node.js学习笔记(1):Node.js快速开始 Node.js的安装 下载 官方网址:https://nodejs.org/en/ 说明: 在Windows上安装时务必选择全部组件,包括勾选Ad ...

  7. Spring+SpringMVC+MyBatis+easyUI整合进阶篇(一)设计一套好的RESTful API

    写在前面的话 看了一下博客目录,距离上次更新这个系列的博文已经有两个多月,并不是因为不想继续写博客,由于中间这段时间更新了几篇其他系列的文章就暂时停止了,如今已经讲述的差不多,也就继续抽时间更新< ...

  8. 重学前端--js是面向对象还是基于对象?

    重学前端-面向对象 跟着winter老师一起,重新认识前端的知识框架 js面向对象或基于对象编程 以前感觉这两个在本质上没有什么区别,面向对象和基于对象都是对一个抽象的对象拥有一系列的行为和状态,本质 ...

  9. 重学OpenGL(一)----工具篇

    最近想开发一个小工具,需要用到3D,果断上OpenGL,借这个过程把OpenGL重学一遍. 工欲善其事,必先利其器,先把工具都搞好. [开发语言] 果断C+OpenGL,不解释. [开发环境] Min ...

随机推荐

  1. MacOS代理设置(桌面应用代理设置&Terminal代理设置)

    MacOS代理分为桌面应用代理设置&Terminal代理设置,使用代理软件默认只会开启桌面应用代理,Terminal代理需要单独配置   桌面应用代理设置 Terminal查看桌面应用代理设置 ...

  2. 2019-10-22-win7-无法启动-WPF-程序-D3Dcompiler_47.dll-丢失

    title author date CreateTime categories win7 无法启动 WPF 程序 D3Dcompiler_47.dll 丢失 lindexi 2019-10-22 18 ...

  3. Java练习 SDUT-1140_面向对象程序设计上机练习一(函数重载)

    面向对象程序设计上机练习一(函数重载) Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 利用数组和函数重载求5个数最大值 ...

  4. 阿里大数据产品Dataphin上线公共云,将助力更多企业构建数据中台

    日前,由阿里数据打造的智能数据构建与管理Dataphin,重磅上线阿里云-公共云,开启智能研发版本的公共云公测!在此之前,Dataphin以独立部署方式输出并服务线下客户,已助力多家大型客户高效自动化 ...

  5. @atcoder - AGC035F@ Two Histograms

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 给定一个 N*M 的方格,我们通过以下步骤往里面填数: (1)将 ...

  6. 求eclipse中的java build path 详解

    我也找了一下资料,但未找到相关的正式说明,我只能凭经验告诉你. 1,Source是指资源的路径.例如在没有包含res之前,资源是放在与src同级位置,或者通过/res/*.*来操作的.2,Projec ...

  7. Jquery常用方法汇总(转)

    https://blog.csdn.net/lucky___star/article/details/87883888

  8. EC round 33 D. Credit Card 贪心

    因为到为0的点,充钱的范围都是不确定的,我们维护一个满足条件的最小值以及满足条件的最大值. 当min>d时,代表已经满足条件限制了 当a[ i ] = 0 并且 max<0,代表需要充钱, ...

  9. 新浪微博API错误代码说明对照表 http://open.weibo.com/wiki/Error_code

    http://open.weibo.com/wiki/Error_code 这篇文章资料是从新浪微博开发平台分享过来,一方面是博主自己开发过程遇到问题对错误代码的快捷查询,不用每次都得到官方找:另一方 ...

  10. 只要是使用函数file_get_contents访问 https 的网站都要开启

    使用file_get_contents();报错failed to open stream: Unable to find the socket transport "ssl" - ...