Phantomjs“模块X不可用!”尝试呈现AngularJS网页时

时间:2018-06-20 16:29:57

标签: javascript angularjs webpack phantomjs

我花了几个小时试图找到一个问题,该问题为我提供了解决问题的任何线索,但找不到任何相关的东西。

我正在为网站进行一些SEO(我不是SEO专家,目前正在学习一些课程并阅读大量文章),而我发现的一件事是Google的“获取并呈现”在Google Search Console上。

但是,只加载了带有AngularJS(1.5.x)组件的网站的标头,我暗示这意味着js无法正确加载,并且Angular组件无法初始化。

从那时起,我随后发现(无法确认)Google Search Console使用PhantomJS来呈现页面,因此我决定尝试在本地环境中进行尝试。

我们使用Webpack将所有js文件捆绑在一起,并且可以在本地和生产环境中正常工作,但是PhantomJS在尝试呈现捆绑的文件时似乎存在一些问题。

页面尝试引导的每个模块在运行PhantomJS时都会引发错误:

  

[$ injector:nomod]模块'(moduleName)'不可用!你要么   错误拼写了模块名称或忘记了加载它。如果注册一个   模块确保您将依赖项指定为第二个   论点。

但是正如我所说的,所有浏览器都正确加载了所有模块,显然在模块声明上没有错误,所有导入均按顺序进行,所有操作均应按预期进行。除非不是。

如果您认为脚本的摘录可能会引起一些启发,请在需要时包括在内,因为代码有点敏感,所以其中有很多(无法考虑可以很有帮助),并且由于它几乎可以在所有地方正常工作,在我看来这并不是问题所在,但我肯定是错的。

对不起,我讨厌发布没有代码的问题,但是我对此有点不知所措。

有人遇到过类似的问题吗?

任何帮助将不胜感激。

亲切的问候。

0 个答案:

没有答案