用于退出的命令是什么?(即终止Node.js进程)
当前回答
打开运行节点应用程序的命令行终端,然后按Ctrl+C
如果要从代码中退出node js应用程序,
process.exit(); // graceful termination
process.exit(1); // non graceful termination
其他回答
正如@Dominic所指出的,抛出未捕获的错误是更好的做法,而不是调用process.ext([code]):process.exitCode=1;抛出新错误(“我的模块xx条件失败”);
节点js中的退出有两种方式:
显式调用process.exit()。或者,如果nodejs事件循环完成了所有任务,并且没有任何事情可做。那么,节点应用程序将自动退出。
它是如何工作的?
如果你想强制执行循环停止进程,你可以使用全局变量进程,它是EventEmitter的一个实例。因此,当调用process.exit()时,实际上会发出退出事件,该事件会立即结束所有任务,即使仍有异步操作未完成。
process.exit()将退出代码(整数)作为参数。代码0是默认值,这意味着它将以“成功”退出。而代码1表示它以“失败”退出。
您可以使用process.ext([code])函数。
如果要退出而不出现“失败”,请使用代码0:
process.exit(0);
要退出并显示“失败”代码1,您可以运行:
process.exit(1);
失败的“失败”代码特定于应用程序。因此,您可以使用自己的约定。
如果您在Unix终端或Windows命令行中,并希望退出节点REPL,请选择。。。
按Ctrl+C两次,或键入.ext并按Enter键,或在行开头按Ctrl+D(仅限Unix)
import mongosse from 'mongoose'
import dotenv from 'dotenv'
import colors from 'colors'
import users from './data/users.js'
import products from './data/products.js'
import User from './models/userModel.js'
import Product from './models/productModel.js'
import Order from './models/orderModel.js'
import connectDB from './config/db.js'
dotenv.config()
connectDB()
const importData = async()=>{
try{
await Order.deleteMany()
await Product.deleteMany()
await User.deleteMany()
const createdUsers = await User.insertMany(users)
const adiminUser = createdUsers[0]._id
sampleProducts = products.map(product =>{
return {...product, user:adiminUser }
})
await Product.insertMany(sampleProducts)
console.log('Data Imported!'.green.inverse)
process.exit() //success and exit
}catch(error){
consolele.log(`${error}`.red.inverse)
process.exit(1) //error and exit
}
}
所以这里我在db和try块中填充了一些集合,如果我没有得到任何错误,那么我们会用一条成功消息退出它,因此我们使用process.exit(),但参数中没有任何内容。如果出现错误,那么我们需要退出并返回一条失败消息,因此我们在参数中传递1,例如process.ext(1)。
额外:这里的退出意味着退出典型的nodejs程序。例如,如果此代码位于名为dbOperations.js的文件中,则process.exit将退出,并且不会运行process.exit之后的任何代码
推荐文章
- npm犯错!代码UNABLE_TO_GET_ISSUER_CERT_LOCALLY
- Access-Control-Allow-Origin不允许Origin < Origin >
- 如何获得所有已注册的快捷路线?
- 你可以为你的组织托管一个私有的存储库来使用npm吗?
- 如何定位父文件夹?
- Gulp命令未找到-安装Gulp后错误
- 在Node.js中写入文件时创建目录
- 如何将自定义脚本添加到包中。Json文件,运行javascript文件?
- 使用child_process。execSync但保持输出在控制台
- SyntaxError:在严格模式下使用const
- 在Node.js中递归复制文件夹
- 如何在node.js中设置默认时区?
- “react-scripts”不被视为内部或外部命令
- 如何正确地读取异步/等待文件?
- 错误:无法验证nodejs中的第一个证书