修改hexo s后自动打开浏览器

## 缘起
每次修改博客后 ,hexo s启动本地服务器后不会自动打开浏览器,每次要点开地址。不爽!搞起

browsersync或者anywhere(随时随地启动当前目录服务器,真的很好用^_^)都有这个功能,从搜了下anywhere的源码实现,移植到hexo 的模块

打开 \node_modules\hexo-server\lib\server.js这个文件

self.log.info('Hexo is running at %s. Press Ctrl+C to stop.', chalk.underline(addr));
self.emit('server');

if (args.o || args.open) {
  open(addr);
}    

的后面粘贴,新增openURL方法:

var exec = require('child_process').exec;
var spawn = require('child_process').spawn;

var openURL = function (url) {
  switch (process.platform) {
    case "darwin":
      exec('open ' + url);
      break;
    case "win32":
      exec('start ' + url);
      break;
    default:
      spawn('xdg-open', [url]);
  }
};

 openURL(addr);
 console.log('open success!');

保存,hexo clean , hexo s测试一下吧

hexo博客相关使用问题参考文档
https://hexo.io/zh-cn/docs/configuration.html
next主题
http://theme-next.iissnan.com/getting-started.html

other

暂时没花时间去独立提取模块,就整个把anywhere的模块安装进来了,
依赖文件太恐怖了。。。
想起来再折腾吧

npm ls -g 查看全局安装的模块及依赖

+-- bower@1.7.9
+-- cnpm@4.2.0
| +-- auto-correct@1.0.0
| +-- bagpipe@0.3.5
| +-- colors@1.1.2
| +-- commander@2.7.1
| | `-- graceful-readlink@1.0.1
| +-- cross-spawn@0.2.9
| | `-- lru-cache@2.7.3
| +-- debug@2.2.0
| | `-- ms@0.7.1
| +-- giturl@1.0.0
| +-- npm@3.8.9
| | +-- abbrev@1.0.7
| | +-- ansi-regex@2.0.0
| | +-- ansicolors@0.3.2
| | +-- ansistyles@0.1.3
| | +-- aproba@1.0.1
。。。。
此处省略一万行
。。。。
坚持原创技术分享,您的支持将鼓励我继续创作!