用于退出的命令是什么?(即终止Node.js进程)
当前回答
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之后的任何代码
其他回答
按Ctrl+C两次或退出。
>
(To exit, press ^C again or type .exit)
>
在命令行中,.ext是您想要的:
$ node
> .exit
$
它记录在REPL文档中。REPL(Read Eval Print Loop)是Node命令行的名称。
在正常程序中,使用process.ext([code])。
正如@Dominic所指出的,抛出未捕获的错误是更好的做法,而不是调用process.ext([code]):process.exitCode=1;抛出新错误(“我的模块xx条件失败”);
退出
let exitCode = 1;
process.exit(exitCode)
有用的退出代码
1 - Catchall for general errors 2 - Misuse of shell builtins (according to Bash documentation) 126 - Command invoked cannot execute 127 - “command not found” 128 - Invalid argument to exit 128+n - Fatal error signal “n” 130 - Script terminated by Control-C 255\* - Exit status out of range
从代码中,您可以使用process.ext([errorcode]),其中[errorcode]是可选整数(0是表示成功的默认值)。
如果使用的是Read-Eval打印循环(REPL),则可以使用Ctrl+D或键入.ext
或者,在Windows或Linux上,可以使用Ctrl+C、Ctrl+C
在Mac上,命令为Ctrl+Z,Ctrl+Z
推荐文章
- CALL_AND_RETRY_LAST分配失败-进程内存不足
- 在Ubuntu上安装Node.js
- 使用express.js代理
- Node -使用NODE_MODULE_VERSION 51根据不同的Node.js版本编译
- RabbitMQ / AMQP:单队列,同一消息的多个消费者?
- Node.js同步执行系统命令
- 禁用包的postinstall脚本
- Node.js上的html解析器
- 错误:无法找到模块“webpack”
- 在node.js中使用async / await文件系统
- NodeJS -用NPM安装错误
- 如何为本地安装npm包设置自定义位置?
- 回调函数来处理管道的完成
- Express函数中的“res”和“req”参数是什么?
- node.js TypeError:路径必须是绝对路径或指定根路径到res.sendFile[解析JSON失败]