nodejs中的directory、static与forever

不知道各位学nodejs的童鞋在 初次接触nodejs时会不会有这样的疑问——你看看人家php、jsp文件都可以用apache、tomcat之类的服务器打开,nodejs怎么没有服务器呢?说具体点,假如我们写了一个项目,把它放到我们的远端服务器上,用户如何访问我们的项目呢?假如我们服务器的ip地址或者域名是xxxx,使用的是apache,端口80。那么用户只需访问xxxx就可以看到我们的页面了。但nodejs貌似不行,我们的页面写好以后如何让用户访问我们的页面呢?
我学习nodejs时主要看的是《Node.js权威指南》,这本书上介绍了两个express中间件——static与directory。static是用于让用户访问网站中的静态文件,dirctory是用于在浏览器中列出某个目录下的所有子目录及文件。书上的操作是这样子的:
1.首先,安装express模块 npm install express -g
2.其次,建立index.js,内容如下:
var express=require(“express”);
var app=express();
app.use(express.directory(__dirname)); //注意是两条下划线
app.use(express.static(__dirname));
app.listen(1337,”127.0.0.1”);
正常情况下,当我们把程序运行起来,再到浏览器上访问127.0.0.1:1337就应该可以看到与index.js同目录下文件的列表,并且可以访问静态文件。但是,现实很骨感——当我们在命令行中输入node index.js时,会抛出一个错误,大概意思是directory、static现在已经是独立的模块。之前书上的代码是把directory、static当做express的内置中间件使用。但三十年河西,三十年河东,目前,这两个中间件都从express中独立出来了,所以我们要单独安装,安装过程就和普通模块一样。安装好之后,我们将index.js中的代码修改为
这里写图片描述
再运行程序,最后在浏览器中输入localhost:1337,就会看到
这里写图片描述
这里列出的文件都是和index.js处在同一目录下的文件,如果index.js的上级目录就是你nodejs的工作目录,那就可以像其他服务器一样展示出你全部的项目了,就想这样子
这里写图片描述
之前,我们要运行nodejs程序都是在命令行里苦逼的敲,启动一次敲一次,而且还不能把命令行给关了。自从有了forever模块以后,一切都变简单了,该模块使程序在后台运行。我们先 用npm安装好forever,启动时输入node index.js,命令行提示如下
这里写图片描述
虽然出现了警告,但不必理会,不影响程序的启动。而且我们看到,命令行貌似退出了node模式,我们在浏览器中继续访问127.0.0:1337,依然可以访问,把命令行关掉依旧可以访问。如果我们要停止程序的运行,就输入forever stop index.js即可。
这样一来,我们就手动搭建一个平台,让用户可以访问nodejs项目的前台页面了。如有不清楚或错误的地方,欢迎大家在评论区中指出,谢谢~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值