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,不报错了。
- 上一篇 »Python踩坑总结
- 下一篇 »Java 调用 Python脚本 踩坑