【发布时间】:2018-08-03 00:44:01
【问题描述】:
我正在使用来自react-dom 的renderToString 函数(在我的服务器端)。代码看起来像(+/-):
import Home from './app/containers/Home';
const app = express();
app.get('**', (req, res) => {
const html = renderToString(<Home />);
res.set('Cache-Control', 'public, max-age=600, s-maxage=1200');
res.send(html);
});
一切都很顺利,直到我尝试将它部署到服务器上。
控制台中的示例错误:
Error: Error parsing triggers: Cannot find module 'store/Home/actions'
什么时候出现?
如果我将路径更改为其他组件,不使用任何其他组件(仅来自节点的模块,如 react 或 react-redux),它正常工作强>。
但是如果我尝试使用一些使用其他组件并导入它们的组件,例如:
var _CreateUser = require('components/Pages/CreateUser');(在渲染组件中)
现在它将失败并出现错误:
Error: Error parsing triggers: Cannot find module 'components/Pages/CreateUser'
所以目前我卡住了,因为我必须在服务器端使用我的整个应用程序,而不仅仅是一个不导入任何东西的组件:)
为什么会这样?为什么会失败?糟糕的 webpack 配置失败了吗?
期待任何帮助。谢谢。
注意,正如我上面所说,如果我使用任何导入(不使用其中的任何其他组件)渲染某个组件的字符串 - 服务器端渲染工作正常并且我能够在页面加载之前查看 renderedToString 内容。
【问题讨论】:
-
1) 您的服务器和本地/开发计算机中的操作系统是什么? 2)您是否在服务器端安装了所有软件包(与您的开发环境中的版本相同)?
-
如何部署?只是复制粘贴文件夹?还是你用 git?
-
@sultan 1) 本地 win7。服务器?我真的不知道... 2)我已经安装了我在服务器端渲染中使用的所有软件包。 3)我用
firebase deploy部署它,我没有使用git
标签: javascript reactjs firebase webpack google-cloud-functions