美文网首页
http-server服务故障排除及NodeJS部署中的环境变量

http-server服务故障排除及NodeJS部署中的环境变量

作者: zoomlaCMS | 来源:发表于2020-02-23 16:36 被阅读0次

    这篇文章虽然是介绍http-server,但对于了解Nodejs逻辑有益。

    什么是http-server

    Http-server是一个轻量级的基于nodejs的http服务器,它最大好处就是:
    可以使任意一个目录成为服务器的目录,完全抛开后台的沉重工程,直接运行想要的js代码。

    项目的Npm网址:https://www.npmjs.com/package/http-server

    简单的说,如果你做了一个静态网页,又不想部署IIS或apache,则你可以直接安装hppt-server服务,从而快速将当前目录作为网站运行,如下图所示:

    http-server运行效果

    它有一系列参数,比如作为代理、加载SSL证书,下面附几个简单的命令:

    安装

    npm i -g http-server
    

    运行

    进入你的网站目录,启动powershell管理器或命令行,运行:

    http-server
    

    直接打开浏览器
    如果你的目录中有index.html,想一次性直接打开浏览器,则可以运行下面命令:

    http-server -o
    

    运行结束,你可以直接关闭Powerserver或命令行窗口,或者执行ctrl+c结束即可。

    下图就是安装成功的界面:


    安装成功界面

    安装出错的解决方法

    有网友反馈,虽然执行了上面的npm i -g http-server,但是依然跑不出http-server,这种情况一般出现在早期的windows server 2016、win10早期版本上。
    那要如何解决?

    虽然总是提示安装成功,运行出了前面的安装成功界面,但再运行http-server时,还是报错,如下图所示:

    http-server运行不成功

    这到底是什么原因呢?下面我们来讲解排查方法

    第一步:选择正确的安装权限

    一般说来,下载安装,并用命令行查看版本;如果提示输入命令找不到等,可能是没有安装成功,或者是环境变量引起的。

    如果在提示安装不成功可能是win10权限问题,最好使用管理员模式运行powershell或cmd安装。


    选择管理员权限

    第二步:检查你node与npm版本

    一般说来,需要部署Node和npm最新版本,相关教程你可以访问www.z01.com 官网检索。
    他们的命令分别是:
    ``
    node -v

    
    

    npm -v

    
    比如我的电脑当前版本,不是最新也不能是两三年前的旧版本:
    ![检查node和npm版本](http://www.z01.com/UploadFiles/Anony/content/md/EImz4Z4ukW.jpg)
    
    
    ### 第三步:选择npm的安装路径
    好多电脑的npm安装路径不是在nodejs的目录下,造成安装路径不同,运行命令是:
    

    npm config ls
    ``
    运行后界面如下提示:

    image

    上图即告诉我们npm是安装在E盘。

    我们最好将其修改为默认安装在nodejs目录下,方便查找和管理包,命令:

    npm config set prefix "C:\Program Files\nodejs\node_modules"
    npm config set cache "C:\Program Files\nodejs\node_modules"
    
    修改Npm安装目录到c盘nodejs目录下

    再次运行npm config ls检查是否修改成功:

    npm默认安装路径修改成功

    在npm目录下再次安装

    我们进入npm的安装目录,即C:\Program Files\nodejs\node_modules下执行npm i -g http-server,并运行http-server,会看到完全安装成功,并能成功运行:

    在nodejs目录下安装并运行成功

    好了,到这里,我们似乎已经安装好了http-server服务,但是在其它目录下运行,依然报错,如下图:

    http-server运行不成功

    这里我们想到, 一定是全局环境变量出了问题,嘿嘿,下面开始终极解决方案,定义全局变量解决问题。

    nodejs全局变量解决方案

    检测nodejs在windows中全局变量的有一个命令:

    npm config get prefix 
    

    比如下图则输出我的nodejs系统全局变量地址在:C:\Program Files\nodejs\node_modules

    既然找到问题,那么就好解决了。
    打开控制面板,启动系统-高级系统设置-高级-环境变量:

    image image

    定义个人环境变量

    首先是在上方用户变量区,将nodejs的目录加上,如果已经有了一条内容,你可以采用半角英文的分号;来隔离,如下图示:

    用户环境变量

    为了避免新手迷糊,还有一种情况是用户环境变量已经有了2条或多条,则编辑时会有一个列表,这样就简单多了,你新建一条拷进去就行了:


    用户环境变量中多条记录操作方法

    定义系统环境变量

    接下来定义系统环境变量,基本操作和个人操作无异,但如果没有path这一项时,需要新建它,并命名为NODE_PATH,如下图示:


    定义系统变量中的NODE_PATH

    操作完成,为了让大家学习方便,我们截一个最终的图片:


    终极效果

    点击确定,到了这里就结束了。

    我们现在用shell进入任何目录运行看是否成功。
    看,小编在D盘根目录,用PowerShell运行http-server成功跑起来了:

    d盘根目录运行http-server成功

    好了,下面就等着你去codding了,更便捷的http-server服务在等你,为你调试而生。

    相关文章

      网友评论

          本文标题:http-server服务故障排除及NodeJS部署中的环境变量

          本文链接:https://www.haomeiwen.com/subject/kvgjqhtx.html