【发布时间】:2019-07-18 17:28:45
【问题描述】:
我们使用 react 和 react-loadable。
在我们的应用程序初始化期间,我们正在验证我们定义的每个 <Route /> 是否存在 component.preload 方法。
如果缺少该方法,我们会显示一个警告,表明该组件应该是可加载的。
我们使用webpack 4,有没有办法自动包装组件,就不用手动了?
这是组件的样子:
/** MyComponent.js: page component */
export default () => <div>Hello world</div>;
这是封装在 react-loadable 组件中的同一个组件:
/**
* preconfigured react-loadable
* See https://github.com/jamiebuilds/react-loadable#how-do-i-avoid-repetition)
*/
import MyLoadable from '@scopped/react-loadable';
/** loadable component */
export default MyLoadable({
loader: () => import('./MyComponent'), /** import page component */
});
- 我们的
<Route />在node_modules中声明,并且来自不同的包。 - 可以使用
<Resource />(来自react-admin)而不是<Route />来声明 - 它们不以 ESM 格式分发,而仅以 CJS (CommonJS) 格式分发。
【问题讨论】:
-
你可以编写自己的 webpack 加载器。我不知道有任何现有的可以帮助解决这个问题。 webpack.js.org/contribute/writing-a-loader
标签: javascript reactjs webpack react-router react-loadable