我正在react-loadable
使用react-router-v4
,我想要进行服务器端渲染。
当然在服务器端我不需要延迟加载,所以我开始使用react-loadable
,因为它说可以在import-inspector
babel插件的帮助下与服务器一起使用。
但遗憾的是我的服务器控制台require.ensure is not a function
出现了错误,这导致我的客户端重新渲染,我失去了服务器端渲染的所有好处。
在我使用react-router-v3
并使用getComponent
import
之前没有任何问题之前。
这是我的路线配置。
export default [
{
component: Root,
routes: [
{
path: '/',
component: Loadable({
loader: () => import('./Parent.jsx'),
loading: () => <div>Loading...</div>
}),
routes: [
{
path: '/',
exact: true,
component: Loadable({
loader: () => import('./Child.jsx'),
loading: () => <div>Loading...</div>
})
}
]
}
]
}
];
这是我的.babelrc
{
presets : [["es2015", {modules: false}], "react", "stage-2", "stage-3"],
plugins: [
"transform-runtime",
"syntax-async-functions",
"dynamic-import-webpack"
],
env: {
node: {
plugins: [
["import-inspector", {
"serverSideRequirePath": true,
"webpackRequireWeakId": true,
}],
["babel-plugin-webpack-alias", {
"config": "webpack/server.js",
"findConfig": true
}]
]
}
}
}
在客户端上它完美运行,只有错误是标记校验和差异错误。 这应该如何运作?
提前致谢!
答案 0 :(得分:0)
尝试将其添加到babel或babel加载器
“动态导入节点”,
那是来自airbnb