Reactjs 使用Webpack进行响应-打包一个模块,以便在另一个站点中动态加载
我使用Webpack作为使用标准React/Redux/etc的应用程序的构建/绑定程序 我们需要构建可以动态加载到主应用程序中的自定义组件。这将要求组件在主开发之外创建,因此不会参与主应用程序构建。理想的解决方案是在他们自己的项目中构建组件,捆绑(因为它们将有导入/需求等),并生成一个bundle.js文件,该文件只是该组件(可以是多个合并在一起的组件)。然后,我们希望能够获取该文件并将其动态加载到主应用程序中 我理解我们在主项目中使用的webpack在一定程度上是如何进行代码拆分的。我还能够成功地从外部导入我在外部构建的简单组件。问题是,这些外部组件可能会变得相当庞大,因此使用构建/绑定器将其全部放在一个包中是理想的。我不知道如何从主项目外部构建组件,如何使用webpack将所有的好东西合并到一个包中,并注入新的捆绑组件(通常包装在webpackjsonp和所有其他运行时的东西中) 还有谁能做这样疯狂的事吗 谢谢 编辑 我已经能够使用webpack成功地在自己的项目中构建思洛存储器组件,并使用所述的Output.Library选项将其动态加载到与webpack捆绑在一起的不同运行应用程序中 下面是用于测试名为TestMe的定制react组件的示例配置,该组件位于test文件夹的index.js文件中Reactjs 使用Webpack进行响应-打包一个模块,以便在另一个站点中动态加载,reactjs,split,webpack,redux,Reactjs,Split,Webpack,Redux,我使用Webpack作为使用标准React/Redux/etc的应用程序的构建/绑定程序 我们需要构建可以动态加载到主应用程序中的自定义组件。这将要求组件在主开发之外创建,因此不会参与主应用程序构建。理想的解决方案是在他们自己的项目中构建组件,捆绑(因为它们将有导入/需求等),并生成一个bundle.js文件,该文件只是该组件(可以是多个合并在一起的组件)。然后,我们希望能够获取该文件并将其动态加载到主应用程序中 我理解我们在主项目中使用的webpack在一定程度上是如何进行代码拆分的。我还能够
module.exports = {
entry: {
developer: "./test"
},
output: {
path: path.join(__dirname, "dist", "static", "developer"),
filename: "MyLibrary.[name].js",
library: ["MyLibrary", "[name]"],
libraryTarget: "var"
},
externals: {
'react': 'React'
, 'react-dom': 'ReactDOM'
, 'react-dom/server': 'ReactDOMServer'
, 'react/lisb/ReactTransitionGroup': 'React.addons.TransitionGroup'
, 'react/lib/ReactCSSTransitionGroup': 'React.addons.CSSTransitionGroup'
}, ...
在中导入时,您将可以作为全局变量MyLibrary.developer.TestMe(或MyLibrary.developer.default,具体取决于您导出组件的方式)访问TestMe组件。外部设置是为了防止Webpack包含最终捆绑包中的内容,而最终捆绑包已经包含在主应用程序中。否则你会得到一个非常大的文件包。如果您更喜欢UMD等,请查看LibraryTarget
这个故事的寓意是“当一切都失败时,再看一遍文档”。我该如何问一个好问题?