node中Express 动态设置端口的方法

网友投稿 364 2023-04-23


node中Express 动态设置端口的方法

能够动态设置端口的话,调试起来会比较方便,不需要因为默认端口被占用去改代码,还可以多开。代码如下,其实没啥难度,只要你了解nodejs里的process模块,很容易就能写出来。

假设我们想要的命令格式为node app.js 8000

var process = require('process')

var port = (function () {

if (typeof (process.argv[2]) !== 'undefined') { // 如果输入了端口号,则提取出来

if (isNaN(process.argv[2])) { // 如果端口号不为数字,提示格式错误

throw 'Please write a correct port number.'

} else { // 如果端口号输入正确,将其应用到端口

return process.argv[2]

}

} else { // 如果未输入端口号,则使用下面定义的默认端口

returhttp://n 8080

}

})(),

app.listen(port, function () {

console.log('Example app listening on port ' + port + ' !')

})

实际上,就是通过process.argv获得命令内容,这个方法会以数组的方式返回命令内容,第一项一般都是node,第二项在上面的例子中是入口文件的路径,第三项就是我们输入的端口号啦。

如果你配置了npm的环境,还需要调整一下package.json里的参数,比如大部分脚手架里的设置是这样的:

"scripts": {

"dev": "node build/dev-server.js",

...

}

这个时候,我们只需修改命令为:

"scripts": {

"dev:port": "node build/dev-server.js port",

...

}

即可,使用时的命令是npm run dev 8000,这里用到的则是npm的自定义变量功能。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Android中几种图片特效的处理的实现方法
下一篇:Mybatis框架及原理实例分析
相关文章

 发表评论

暂时没有评论,来抢沙发吧~