node自动打开浏览器姿势(自动获取本地ip)

更新,滚动到文章最下方,查看最新的解决方法

前言

笔者开发时,使用了vue-cli,运行npm run dev命令行时会自动打开浏览器,一时好奇进入了解下,并且默认的是打开http:// localhost:端口/,当我想用手机设备去访问时,访问地址得是http:// IP地址:端口的形式,因此把node自动打开浏览器的地址修改后就方便多了(无论是复制粘贴还是啥的……)。

opn模块, 自动打开浏览器

首先,从package.json中找到dev对应的脚本,运行了build/dev-server.js文件。



该文件使用了opn模块去打开浏览器

os模块,获取ip地址

找到了打开浏览器的代码后,我们就需要引入os模块获取本地ip地址,替换静态的localhost
在dev-server分别加上这两段代码(修改):

  var os = require('os')
  var lacalhost = ''
  try {
    var network = os.networkInterfaces()
    localhost = network[Object.keys(network)[0]][1].address
  } catch (e) {
    localhost = 'localhost';
  }
  var uri = 'http://' + localhost + ':' + port

完成

至此就大功告成了,当然只是在windows下用过,mac没有测试!
修改前:

Paste_Image.png

修改后:


更新(2017-12-26)

分割线上方的教程不需在看,可以使用一个npm包直接获取ip,address

$ npm i address -D

打开build/dev-server.js,引入address

...
var address = require('address')
...

然后在文件下方修改成以下代码即可


image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,914评论 18 139
  • 名词延伸 通俗的说,域名就相当于一个家庭的门牌号码,别人通过这个号码可以很容易的找到你。如果把IP地址比作一间房子...
    杨大虾阅读 20,634评论 2 56
  • 1. 概述 在网络环境中一般用户只需要在浏览器中输入url如www.sunny.com就可以到对应服务器获取相应的...
    ghbsunny阅读 2,957评论 0 7
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,948评论 6 342
  • Sir今天要来打自己脸—— 吐槽一部新片。 《傲慢与偏见与僵尸》 Sir承认,一年前刚看到这个片名时,毛孔扩张。 ...
    Sir电影阅读 1,559评论 2 2