OurJS


OurJS-我们的JS, 我们的技术-IT文摘; 专注JS相关领域;
我们热爱编程, 我们热爱技术;我们是高大上, 有品味的码农;

欢迎您订阅我们的技术周刊


我们会向您分享我们精心收集整理的,最新的行业资讯,技术动态,外文翻译,热点文章;
我们使用第三方邮件列表向您推送,我们不保存您的任何个人资料,注重您的隐私,您可以随时退订,

欢迎分享您的观点,经验,技巧,心得

让我们一起找寻程序员的快乐,探索技术, 发现IT人生的乐趣;


本网站使用缓存技术每次加载仅需很小流量, 可在手机中流畅浏览;
如果您发现任何BUG,请即时告知我们: ourjs(at)ourjs.com

使用Node.JS批量查找替换目录下文本文件中图片地址内容


分享到


分类 JS学习   关键字 Node.JS   发布 newghost  1534425872703
注意 转载须保留原文链接,译文链接,作者译者等信息。  
最近想起来 adsense 的广告费好久没领了,就登陆了查看了一下。发现最近几个月 ourjs 的流量下降地很厉害。 然后登陆 google analytics 仔细查看,发现流量量几乎降低了一半。

然后分析里面的一些文章,发现很多图片不能显示了。

仔细研究下发现,以前用的 github page 图床被墙了,所有引用 github.io 的图片都打不开。

但是又发现,githubusercontent 的图片引用是可以用的,比如:

http://ourjs.github.io/static/2015/firefox_default.png
https://raw.githubusercontent.com/ourjs/static/gh-pages/2015/firefox_default.png


找到问题的原因,赶紧花了几分钟写了个小脚本,把里面所有的地址替换了一下。


var fs    = require('fs')
var path  = require('path')

fs.readdir('article', function(err, files) {

  files.forEach(function(file) {
    var filePath = path.join('article', file)

    fs.readFile(filePath, function(err, data) {
      if (err) {
        return
      }

      data = data.toString()

      var idx = data.indexOf('http://ourjs.github.io/static/')
      if (idx > 0) {
        data = data.replace(/http:\/\/ourjs\.github\.io\/static\//g, 'https://raw.githubusercontent.com/ourjs/static/gh-pages/')

        //尝试将替换过的文本解析一下,看看是否出错,出错会中止
        var article = JSON.parse(data)
        //不出错将替换后的文本写入文件
        fs.writeFile(filePath, data)
      }

    })
  })

})


因为 ourjs 里的文章都是放到一个目录下的,所以没有考虑子文件夹,如果有需要的话可以参考这篇文章: 

使用Node.JS批量查找替换目录下文本文件中的图片内容


补充: 发现 jiathis 分享插件也没法用了,发现这家公司可能运营不下下去了,官网也打不开,已经替换成百度分享。


社区评论 ( Beta版 )
OnceDoc 您自己的企业内容管理系统——文档、流程、知识库、报表、网盘All In One

访问404页面,寻找丢失儿童
 热门文章 - 分享最多
  1. Git服务器搭建,多用户组权限控制配置,添加新用户密码登陆
  2. 设置select元素中option的默认值
  3. Node.JS用Path将相对路径转为绝对路径
  4. 用JavaScript将input/textarea中的文本复制粘贴到剪切板
  5. JavaScript用Number/parseInt/parseFloat判断字符串是否为数字
  6. Node.JS命令行或批处理中更改Linux用户密码
  7. 上海行业工资排名:产品经理一骑绝尘,前端排名第二?
  8. JavaScript中新建一个带全局变量参数的new Function动态函数
  9. 用JavaScript实现node.js中的path.join方法
  10. Node.JS进程间通讯的几种方法:Redis Publish/Subscribe 和 UDP Socket
  11. 用 OnceAir 搭建个人Git/Svn/照片备份服务器,每年电费7块钱

 相关阅读 - JS学习
  1. 判断Node.JS TCP Socket当前连接状态
  2. Node.JS进程间通讯的几种方法:Redis Publish/Subscribe 和 UDP Socket
  3. 用JavaScript实现node.js中的path.join方法
  4. JavaScript中新建一个带全局变量参数的new Function动态函数
  5. 设置select元素中option的默认值
  6. JavaScript用Number/parseInt/parseFloat判断字符串是否为数字
  7. 用JavaScript将input/textarea中的文本复制粘贴到剪切板
  8. Node.JS用Path将相对路径转为绝对路径
  9. JS动态滑动切换到页面指定位置
  10. 如何通过网页、客户端、手机APP、路由器查找OnceAir NAS网盘的内网访问地址

 关键字 - Node.JS
  1. 提高NodeJS网站的安全性:Web服务器防黑客攻击技巧
  2. Node.JS用Socket实现FTP Server服务器和Client客户端
  3. [译]Node.js 框架比较: Express vs. Koa vs. Hapi
  4. Express入门教程:一个简单的博客
  5. 是什么让Node.js比Java更快?为什么NodeJS这么快?
  6. 使用Node.JS批量查找替换目录下文本文件中图片地址内容
  7. 判断Node.JS TCP Socket当前连接状态
  8. Node.JS进程间通讯的几种方法:Redis Publish/Subscribe 和 UDP Socket
  9. Node.JS命令行或批处理中更改Linux用户密码
  10. Node.JS用Path将相对路径转为绝对路径

 欢迎订阅 - 技术周刊

我们热爱编程, 我们热爱技术; 我们是高端, 大气, 上档次, 有品味, 时刻需要和国际接轨的码农; 欢迎您订阅我们的技术周刊; 您只需要在右上角输入您的邮箱即可; 我们注重您的隐私,您可以随时退订.
加入我们吧! 让我们一起找寻码农的快乐,探索技术, 发现IT人生的乐趣;


 关注我们

我们的微信公众号: ourjs-com
打开微信扫一扫即可关注我们:
IT文摘-程序员(码农)技术周刊

ourjs官方微信号