Hexo 踩坑:jquery 报错
今天玩了一下Hexo(一个基于node.js的静态博客框架),结果部署到服务器上后发现了一个报错。
jquery未定义。
jquery怎么会报错呢?一看是找不到链接上的文件。
//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js
不知道为什么会找不到(我的服务器在HK,所以应该不是不可描述的问题),不过不要紧,链接不对,咱们换个链接就好了。
把项目的代码全局搜索了一下。
Searching 6610 files for "<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>"
C:\svnMyProject\hexo_test\node_modules\hexo\node_modules\hexo-cli\assets\themes\landscape\layout\_partial\after-footer.ejs:
   15  <% } %>
   16  
   17: <script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
   18  
   19  <% if (theme.fancybox){ %>
C:\svnMyProject\hexo_test\themes\landscape\layout\_partial\after-footer.ejs:
   15  <% } %>
   16  
   17: <script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
   18  
   19  <% if (theme.fancybox){ %>
2 matches across 2 files  
hexo-cli(hexo的脚手架)和themes(博客用的主题)都要改,但生成的静态页面找的是主题,所以脚手架就不用改了。
after-footer.ejs:
<% if (config.disqus_shortname){ %>
<script>
  var disqus_shortname = '<%= config.disqus_shortname %>';
  <% if (page.permalink){ %>
  var disqus_url = '<%= page.permalink %>';
  <% } %>
  (function(){
    var dsq = document.createElement('script');
    dsq.type = 'text/javascript';
    dsq.async = true;
    dsq.src = '//' + disqus_shortname + '.disqus.com/<% if (page.comments) { %>embed.js<% } else { %>count.js<% } %>';
    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
  })();
</script>
<% } %>
<script src="//code.jquery.com/jquery-2.0.3.min.js"></script>
<% if (theme.fancybox){ %>
  <%- css('fancybox/jquery.fancybox') %>
  <%- js('fancybox/jquery.fancybox.pack') %>
<% } %>
<%- js('js/script') %>
<%- partial('gauges-analytics') %>
替换掉之后再打包部署,OK,不报错了。
posted on 2018-02-11 17:40 fox_charon 阅读(718) 评论(0) 收藏 举报
 
                
            
         
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号