如何运行Node.js文件

ZCQ
日期:2021年1月25日

1.在命令行种运行Node.js脚本
运行Node.js程序的常规方法是,运行全局可用的node命令,(已安装Node.js)并传入要执行的文件的名称。

比如主Node.js应用程序文件时app.js,则可以通过键入以下命令调用它:

node app.js

当运行命令时,请确保位于包含app.js文件的目录中

如何从Node.js程序退出
在控制台运行程序时,可以使用ctrl-C将其关闭,但这里讨论的时以编程的方式退出

process核心模块提供了一种便利的方法,可以以编程的方式退出Node.js程序:process.exit().
当Node.js运行次代码是,进程会被立即强制终止。

这意味着任何待处理的回调、仍在发送中的任何网络请求、任何文件系统访问、或正在写入stdout或stderr的进程,所有这些都会被立即非正常地终止。

可以传入一个整数,向操作系统发出退出码:

process.exit(1)

默认情况下,退出码为0表示成功。

也可以设置process.exitCode属性:

process.exitCode=1

当程序结束时,Node.js会返回该退出码
当进程完成所有处理侯,程序会正常地退出。
使用Node.js启动服务器,例如HTTP服务器:

const express = require('express')
const app=express()
app.get('/',(req,res)=>{
res.send('你好')
})
app.listen(3000,()=>console.log('服务器已就绪'))

这个程序永远不会结束,如果调用process.exit(),则任何当前等待中或运行中的请求都会被中止。这不太友好。
在这种情况下,需要向该命令发出SIGTERM信号,并使用进程的信号处理程序进程处理:

注意:process不需要“require",它是自动可用的。

const express =require('express')
const app=express()
app.get('/',(req,res)=>{
res.send('你好')
})

const server=app.listen(3000,()=>console.log(‘服务器已就绪'))

process.on(’SIGTERM',()=>{
server.close(()=>{
console.log('进程已终止')
})
})

什么是信号?信号时一个POSIX内部通信系统:发送通知给进程,以告知其发生的事件。
SIGKILL是告诉进程要终止的信号,理想情况下,其行为类似于process.exit()
SIGTERM是告诉进程要正常终止的信号。它是从进程管理者(如upstart或supervisord)等发出的信号。
可以从程序内部另一个函数中发送此信号:

process.kill(process.pid,'SIGTERM')

或从另一个正在运行的Node.js程序,或从系统中运行的其他任何的应用程序。

如何从Node.js读取环境变量

Node.js的process核心模块提供了env属性,该属性承载了在启动进程时设置的所有环境变量。
这是访问NODE_ENV环境变量的示例,该环境变量默认情况下被设置为development.
注意process不需要require,它是自动可用的

process.env.NODE_ENV

在脚本运行之前将其设置为"production",则可告诉Node.js这是生产环境。
可以用相同的方式访问设置的任何自动逸的环境变量。

如何使用Node.js REPL

node命令是用来运行Node.js脚本的命令

node script.js

如果省略文件名,则在REPL模式中使用它:

node

注意:REPL也被称为运行评估打印循环,是一种编程语言环境(主要是控制台窗口),它使用单个表达式作为用户输入,并在执行侯将结果返回到控制台。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

中南大学苹果实验室

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值