安装nodejs这里就不叙述了,直接上nodejs官网下载就好了,初学者建议直接下载安装版,无需自己去编译。nodejs安装版和安装其他软件一样,无门槛。

安装nodejs后启动node.js,会打开一个类似黑色的系统命令框,这里是直接输入js代码的命令框,因此在这里输入 node -v 会提示你没有 node 这个命令,如:

如果你想安装其他的包,如 express 等,就需要在开始菜单里面找到 Node.js command prompt 或者 直接运行 cmd 进入命令行。

进入命令行后,输入 node -v  就可以看到你安装的 nodejs的版本了。输入 node -h 可以查看nodejs的帮助。

你还可以输入 npm -v 查看是否已经集成了 npm nodejs包管理器。

nodejs的第一个demo

先在你的电脑任意目录创建一个js文件(例如:server.js)
- vim server.js  // 新建js文件

// 请求http模块
var http = require("http");http.createServer(function(req,res){res.writeHead(200,{"Content-Type":"text/html"});res.write("<h1>Nodejs demo one</h1>");res.end("<p>Hello World2</p>");
}).listen(3000);
console.log("Http server is listening at port 3000");

打开node命令行,先进入你所创建 server.js 文件的目录下,输入 node server.js 命令运行这个服务器文件。

然后在浏览器输入:   http://localhost:3000   回车。(若没有开启本地服务器,请看下一步打开本地服务器)

如果看到上面这个页面,那么恭喜你,第一个demo已经成功执行了。
开启本地 Apache 服务器

以 Mac 为例,在根目录下新建一个 Sites 文件夹,里面放些 demo 或者 test 用的假数据。
找到配置文件,给原文件备份。
// 切换工作目录
$cd /etc/apache2//  备份文件,以防不测,只需要执行一次就可以了
$sudo cp httpd.conf httpd.conf.bak

如果提示错误,需要恢复备份的 httpd.conf 文件,执行以下代码

$sudo cp httpd.conf.bak httpd.conf

修改配置文件
// 用vim编辑httpd.conf
$sudo vim httpd.conf// 查找DocumentRoot
/DocumentRoot

按下 i 进入编辑模式

可以看到有两个路径 把他们都改成刚才建的那个Sites 文件夹的路径

如果是10.10系统的话还有一步:查找Options 输入/Options 也可以目测自己找到图中的位置,在Options和Follow之间增加一个单词)
改好之后先按下esc键退出编辑模式,再输入:wq 保存并退出 如果打错了不想保存就是 :q!
//拷贝配置文件
$sudo cp php.ini.default php.ini// 重新启动apache服务器 之后下面说这句话是正常的
$sudo apachectl -k restart

再确认下到底成功了没有,就到浏览器里输入 localhost 看到 Sites 文件夹下的文件目录就对了

注:

服务器开关的命令

$sudo apachectl -k start$sudo apachectl -k stop

nodejs调试

nodejs的调试比php,python等一些后台语言困难。

一般我们会习惯在修改 PHP 脚本后直接刷新浏览器以观察结果,而在开发 Node.js 实现的 HTTP 应用时会发现,无论你修改了代码的哪一部份,都必须终止Node.js 再重新运行才会奏效。这是因为 Node.js 只有在第一次引用到某部份时才会去解析脚本文件,以后都会直接访问内存,避免重复载入,而 PHP 则总是重新读取并解析脚本(如果没有专门的优化配置)。Node.js的这种设计虽然有利于提高性能,却不利于开发调试,因为我们在开发过程中总是希望修改后立即看到效果,而不是每次都要终止进程并重启。

supervisor 可以帮助实现这个功能,它会监视对代码的改动,并自动重启 Node.js。

使用方法很简单,首先使用 npm 安装 supervisor:

1

$ npm install -g supervisor

如果使用的是 Linux 或 Mac,直接键入上面的命令很可能会有权限错误。原因是 npm 需要把 supervisor 安装到系统目录,需要管理员授权,可以使用 sudo npm install -g supervisor 命令来安装。

接下来,使用 supervisor 命令启动 app.js:

1

$ supervisor app.js

只是当前目录下的js文件,也可以说是服务器端脚本,当更改这个文件的时候,会重启nodejs。

转载于:https://www.cnblogs.com/kkkzeit/p/7355371.html

Node.js 的第一个 demo 和本地服务器配置相关推荐

  1. 用 Node.js 手写一个 DNS 服务器

    DNS 是实现域名到 IP 转换的网络协议,当访问网页的时候,浏览器首先会通过 DNS 协议把域名转换为 IP,然后再向这个 IP 发送 HTTP 请求. DNS 是我们整天在用的协议,不知道大家是否 ...

  2. 二十七、Node.js搭建第一个Express应用框架

    @Author:Runsen @Date:2020/6/8 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自己体会,修炼身心:在每天的不断重复学习中,耐住寂寞,练就真功,不畏艰 ...

  3. 使用Node.js手撸一个建静态Web服务器,内部CV指南

    文章里有全部代码,也可以积分下载 操作步骤如上图 文章结束 话说这个键盘真漂亮~~ 文章目录 使用Node.js手撸一个建静态Web服务器 一.动静态服务器的概念 1.1 静态Web服务器概念 1.2 ...

  4. node.js抓取网络图片保存到本地,node.js抓取防盗链网络图片保存到本地

    node.js抓取网络图片保存到本地,node.js抓取防盗链网络图片保存到本地 使用模块request.fs,request模块在npm里平均月下载量超过3000W次,那是相当的牛逼. node版本 ...

  5. 【敏捷开发】Node.js(nodejs)实现一个接口完成增删改查聚合接口4个功能,最大限度节省接口数量,正所谓“一口多用”(基础版、免登陆、无鉴权)

    注意,前情提示: 本代码基于<Node.js(nodejs)对本地JSON文件进行增.删.改.查操作(轻车熟路)> 传送门Node.js(nodejs)对本地JSON文件进行增.删.改.查 ...

  6. Node.js获取AJAX参数Demo

    在使用NODE.JS过程中,想要和前台的AJAX进行数据交互,然后传参的问题搞了半天,百度出来没有一个是完整的demo,所以决定自己做一个. 按我的理解,传参分两种,一种是POST的方法,一种是GET ...

  7. Vue.js+Node.js爬虫开发一个Github排行榜

    前言 之前使用Node.js开发一个小爬虫,算是初步对爬虫有了一定的了解,但爬取的数据没什么意义.最近使用Github的频率比较高,所以准备爬取一些Github的数据玩下.目前爬取了中国区follow ...

  8. node如何输出html页面,【自己的整理】node.js直接输出一个非常简单的HTML页面-Go语言中文社区...

    刚开始接触nodejs,先记录一下最开始用node输出一个很简单的界面 在远程服务器上先创建一个js文件 helloworld.js [root@towrabbit nodejsLearn]# vi ...

  9. 【Node.js】论一个低配版Web实时通信库是如何实现的1( WebSocket篇)

    引论 simple-socket是我写的一个"低配版"的Web实时通信工具(相对于Socket.io),在参考了相关源码和资料的基础上,实现了前后端实时互通的基本功能 选用了Web ...

最新文章

  1. 层 数据仓库_数据仓库的架构是什么样的,大家可以通过这篇文章了解一下
  2. OpenStack 实现技术分解 (6) 通用库 — oslo_log
  3. Eclipse调试Logcat类的说明
  4. mysql clob转string_Java获取Oracle中CLOB字段转换成String
  5. 深度学习工作机制通俗介绍
  6. 线性序列机与串口接口DAC驱动设计与验证
  7. 气象ts评分_给大家分享一个格点插值到站点然后TS评分的程序
  8. Hollis要转行了?
  9. 函数名,函数体,返回值,参数
  10. 词法分析实验报告(一)
  11. 我们先来了解下什么是网络爬虫?
  12. Excel单元格向下,向右自动填充的快捷键
  13. SCI论文图片拼接Tips
  14. Oracle VM VirtualBox Ubuntu1804虚拟机磁盘扩容
  15. win10升级助手_不用QQ也能电脑远程,win10这功能太良心了!真后悔晚发现
  16. 2020年显卡天梯图
  17. android 实现自动拍照,android实现定时拍照功能
  18. 比较文档相似度c语言,Doc2Vec,Word2Vec文本相似度 初体验。
  19. illustrator插件-画板功能开发-插入页码-js脚本开发-ai插件
  20. educoder头歌Web实训 web课——综合应用案例:动态焦点图页面的制作

热门文章

  1. 如何搭建apache+tomcat集群
  2. 用ASP+DLL实现WEB方式修改服务器时间
  3. SqlServer 分页批按时间排序
  4. dirty_ratio与dirty_background_ratio参数区别--系统优化必选
  5. Python中的用for,while循环遍历文件实例
  6. Codeforces 348C:Subset Sums
  7. 采用truelicense进行Java规划license控制 扩展可以验证后,license 开始结束日期,验证绑定一个给定的mac住址...
  8. 关于字符串和字符数组的再讨论
  9. Asp.net MVC3 Razor语法小记
  10. 设计模式笔记(21)---备忘录模式(行为型)