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 相关文章推荐
用JS做的简单的可折叠的两级树形菜单
Sep 21 Javascript
在父页面调用子页面的JS方法
Sep 29 Javascript
Jquery实现仿腾讯微博发表广播
Nov 17 Javascript
简介AngularJS中使用factory和service的方法
Jun 17 Javascript
JavaScript使用RegExp进行正则匹配的方法
Jul 11 Javascript
jquery实现拖动效果(代码分享)
Jan 25 Javascript
Vue原理剖析 实现双向绑定MVVM
May 03 Javascript
基于layer.js实现收货地址弹框选择然后返回相应的地址信息
May 26 Javascript
关于JavaScript中高阶函数的魅力详解
Sep 07 Javascript
JS中比较两个Object数组是否相等方法实例
Nov 11 Javascript
js实现列表向上无限滚动
Jan 13 Javascript
Vue 实现监听窗口关闭事件,并在窗口关闭前发送请求
Sep 01 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
PHP下通过file_get_contents的代理使用方法
2011/02/16 PHP
Apache中php.ini的设置方法
2013/02/28 PHP
PHP基础学习之流程控制的实现分析
2013/04/28 PHP
PHP中ob_start函数的使用说明
2013/11/11 PHP
Yii2创建控制器(createController)方法详解
2016/07/23 PHP
php正则表达式使用方法整理集合
2020/01/31 PHP
JavaScript 创建对象
2009/07/17 Javascript
javascript拓展DOM操作 prependChild insertAfert
2010/11/17 Javascript
js+xml生成级联下拉框代码
2012/07/24 Javascript
详解JavaScript基于面向对象之创建对象(1)
2015/12/10 Javascript
JavaScript实现的可变动态数字键盘控件方式实例代码
2017/07/15 Javascript
Node中使用ES6语法的基础教程
2018/01/05 Javascript
Vue之mixin全局的用法详解
2018/08/22 Javascript
10行代码实现微信小程序滑动tab切换
2018/12/28 Javascript
Nuxt配置Element-UI按需引入的操作方法
2020/07/06 Javascript
JavaScript实现滚动加载更多
2020/12/27 Javascript
Python的Django框架中自定义模版标签的示例
2015/07/20 Python
Python的Tornado框架的异步任务与AsyncHTTPClient
2016/06/27 Python
Python实现图片转字符画的示例代码
2017/08/21 Python
Python实现购物车功能的方法分析
2017/11/10 Python
Python OpenCV 直方图的计算与显示的方法示例
2018/02/08 Python
使用pycharm生成代码模板的实例
2018/05/23 Python
windows下安装Python虚拟环境virtualenvwrapper-win
2019/06/14 Python
Django 接收Post请求数据,并保存到数据库的实现方法
2019/07/12 Python
iPython pylab模式启动方式
2020/04/24 Python
Pycharm 2020.1 版配置优化的详细教程
2020/08/07 Python
Probikekit欧盟:在线公路自行车专家
2019/07/12 全球购物
高级护理专业大学生求职信
2013/10/24 职场文书
中文系学生自荐信范文
2013/11/13 职场文书
求职信格式范本
2013/11/15 职场文书
高中考试作弊检讨书
2014/01/14 职场文书
基层工作经验证明样本
2014/11/16 职场文书
2014年大学学生会工作总结
2014/12/02 职场文书
导游欢送词
2015/01/31 职场文书
高中议论文(范文2篇)
2019/08/19 职场文书
利用Python+OpenCV三步去除水印
2021/05/28 Python