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


Posted in Javascript onAugust 04, 2017

能够动态设置端口的话,调试起来会比较方便,不需要因为默认端口被占用去改代码,还可以多开。代码如下,其实没啥难度,只要你了解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的自定义变量功能。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
eclipse导入jquery包后报错的解决方法
Feb 17 Javascript
jquery动态添加元素事件失效问题解决方法
May 23 Javascript
js从Cookies里面取值的简单实现
Jun 30 Javascript
JavaScript如何调试有哪些建议和技巧附五款有用的调试工具
Oct 28 Javascript
jQuery实现仿QQ空间装扮预览图片的鼠标提示效果代码
Oct 30 Javascript
js图片跟随鼠标移动代码
Nov 26 Javascript
浅析JS异步加载进度条
May 05 Javascript
JAVA Web实时消息后台服务器推送技术---GoEasy
Nov 04 Javascript
详解vue后台系统登录态管理
Apr 02 Javascript
js实现无缝滚动双图切换效果
Jul 09 Javascript
js利用iframe实现选项卡效果
Aug 09 Javascript
vue+Element-ui前端实现分页效果
Nov 15 Javascript
微信小程序 同步请求授权的详解
Aug 04 #Javascript
微信小程序 转发功能的实现
Aug 04 #Javascript
Vue计算属性的使用
Aug 04 #Javascript
JS+Ajax实现百度智能搜索框
Aug 04 #Javascript
vue插件vue-resource的使用笔记(小结)
Aug 04 #Javascript
分享Bootstrap简单表格、表单、登录页面
Aug 04 #Javascript
vue-cli项目如何使用vue-resource获取本地的json数据(模拟服务端返回数据)
Aug 04 #Javascript
You might like
收听困难?教您超简便短波广播抗干扰方法!
2021/03/01 无线电
php 三维饼图的实现代码
2008/09/28 PHP
PHP批量查询WordPress留言者E-mail地址实现方法
2015/02/15 PHP
php图像处理函数imagecopyresampled用法详解
2016/12/02 PHP
php实现购物车产品删除功能(2)
2020/07/23 PHP
浅谈PHP5.6 与 PHP7.0 区别
2019/10/09 PHP
PHPstorm激活码2020年5月13日亲测有效
2020/09/17 PHP
初学js插入节点appendChild insertBefore使用方法
2011/07/04 Javascript
js 自动播放的实例代码
2013/11/19 Javascript
探讨jQuery的ajax使用场景(c#)
2013/12/03 Javascript
JavaScript DOM进阶方法
2015/04/13 Javascript
javascript面向对象程序设计高级特性经典教程(值得收藏)
2016/05/19 Javascript
js省市县三级联动效果实例
2020/04/15 Javascript
Node.js  REPL (交互式解释器)实例详解
2017/08/06 Javascript
在vue项目创建的后初始化首次使用stylus安装方法分享
2018/01/25 Javascript
vue拖拽组件使用方法详解
2018/12/01 Javascript
JS精确判断数据类型代码实例
2019/12/18 Javascript
js利用拖放实现添加删除
2020/08/27 Javascript
Javascript柯里化实现原理及作用解析
2020/10/22 Javascript
Anaconda下配置python+opencv+contribx的实例讲解
2018/08/06 Python
python3 tcp的粘包现象和解决办法解析
2019/12/09 Python
python手机号前7位归属地爬虫代码实例
2020/03/31 Python
Python xlwt模块使用代码实例
2020/06/10 Python
香港礼品网站:GiftU eshop
2017/09/01 全球购物
英国最受信任的在线眼镜商之一:Fashion Eyewear
2019/10/31 全球购物
UDP协议功能
2013/01/06 面试题
新锐科技Java程序员面试题
2016/07/25 面试题
高级编程求职信模板
2014/02/16 职场文书
中学生期中自我鉴定
2014/04/20 职场文书
保安公司服务承诺书
2014/05/28 职场文书
司法助理专业自荐书
2014/06/13 职场文书
房屋财产继承协议书范本
2014/11/03 职场文书
升职自荐信范文
2015/03/27 职场文书
检讨书范文大全
2015/05/07 职场文书
工作感想范文
2015/08/07 职场文书
python开发实时可视化仪表盘的示例
2021/05/07 Python