小编给大家分享一下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 { // 如果未输入端口号,则使用下面定义的默认端口 return 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的自定义变量功能。
以上是“node中Express如何动态设置端口”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。