Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何为CreateReact应用程序创建多个条目和输出,并将它们分开?_Javascript_Reactjs_Webpack_Electron_Create React App - Fatal编程技术网

Javascript 如何为CreateReact应用程序创建多个条目和输出,并将它们分开?

Javascript 如何为CreateReact应用程序创建多个条目和输出,并将它们分开?,javascript,reactjs,webpack,electron,create-react-app,Javascript,Reactjs,Webpack,Electron,Create React App,我的用例是,我使用的是electron,希望有多个可以加载的窗口。其中一个将最初加载节点应用程序,但不会向用户显示。我只是用它来运行特定的任务。另一个窗口将是UI客户端,它将内置在react中。我正在使用CreateReact应用程序 我采取的步骤 我已经弹射了 我已经创建了多个入口点 基本上,我一直在关注讨论 我目前面临的问题是,webpack正在将我的第二个捆绑文件插入原始index.html 我希望两个束保持完全分离,因为次级束将由电子启动 我需要在我的网页包配置中修改什么以保持捆绑包

我的用例是,我使用的是electron,希望有多个可以加载的窗口。其中一个将最初加载节点应用程序,但不会向用户显示。我只是用它来运行特定的任务。另一个窗口将是UI客户端,它将内置在react中。我正在使用CreateReact应用程序

我采取的步骤

  • 我已经弹射了
  • 我已经创建了多个入口点
基本上,我一直在关注讨论

我目前面临的问题是,webpack正在将我的第二个捆绑文件插入原始
index.html

我希望两个束保持完全分离,因为次级束将由电子启动

我需要在我的网页包配置中修改什么以保持捆绑包完全分离

修改 webpack.config.dev.js

条目:

entry: {
  app: [
    require.resolve('./polyfills'),
    require.resolve('react-dev-utils/webpackHotDevClient'),
    paths.appIndexJs,
  ],
  secondary: [
    require.resolve('./polyfills'),
    require.resolve('react-dev-utils/webpackHotDevClient'),
    paths.secondaryIndexJs,
  ]
},


output: {
  pathinfo: true,
  filename: 'static/js/[name].bundle.js',
  chunkFilename: 'static/js/[name].chunk.js',
  publicPath: publicPath,
  devtoolModuleFilenameTemplate: info =>
  path.resolve(info.absoluteResourcePath).replace(/\\/g, '/'),
},
插件中的附加
HtmlWebpackPlugin

new HtmlWebpackPlugin({
  inject: true,
  chunks: ["secondary"],
  template: paths.secondaryHtml,
  filename: 'secondary.html',
}),
path.js

  • 相应地修改

解决方案是简单地将
excludeChunk:[“secondary”],
添加到原始
HtmlWebpackPlugin
属性中

总体而言:
 new HtmlWebpackPlugin({
  inject: true,
  template: paths.appHtml,
  excludeChunks: ["secondary"]
}),
new HtmlWebpackPlugin({
  inject: true,
  chunks: ["secondary"],
  template: paths.secondaryHtml,
  filename: 'secondary.html',
}),