我早上在我们的AWS beanstalk开发服务器上部署了新版本的react网站,出了点问题。 我收到了一个SyntaxError:意外的令牌'<'从已部署的版本。然后我决定部署旧版本,但这也给出了同样的错误。经过大量的尝试后,我最终终止了环境并克隆了我的生产环境以创建一个新的开发服务器,但仍然存在问题。
基本上克隆的环境失败了,而它在生产服务器上运行良好。
我注意到的唯一另一个奇怪的事情是当我wget http://phoodster-web-dev.eu-west-1.elasticbeanstalk.com/bundle.js
时,它会返回index.html
而不是bundle.js
文件,而我们的生产服务器会正确地执行此操作。
知道出了什么问题吗?
更新: bundle.js看起来像index.html的原因是,因为bundle.js显然没有被编译。 在nodejs日志中,我可能找到了原因:
>错误在./~/react-geosuggest/module/input.js找不到模块:错误: 无法解决模块'react-addons-shallow-compare' / var / app / current / node_modules / react-geosuggest / module @ ./~/react-geosuggest/module/input.js 15:33-72 >错误在./~/react-geosuggest/module/suggest-list.js找不到模块: 错误:无法解析模块'react-addons-shallow-compare' / var / app / current / node_modules / react-geosuggest / module @ ./~/react-geosuggest/module/suggest-list.js 13:33-72 >错误在./~/react-geosuggest/module/suggest-item.js找不到模块: 错误:无法解析模块'react-addons-shallow-compare' / var / app / current / node_modules / react-geosuggest / module @ ./~/react-geosuggest/module/suggest-item.js 13:33-72
还是很奇怪,为什么它只在新克隆而不是主服务器上失败。
答案 0 :(得分:2)
你缺少bundle.js中的相关javascript代码它看起来像没有内容的index.html这可能是因为意外覆盖文件或者你的测试中有一些编译错误
修改强>
您需要以这种方式安装节点模块(在控制台中)
npm i react-addons-shallow-compare
因此,它再次失败,只是缺少模块