Reactjs express js在网页包上提供多个入口点

Reactjs express js在网页包上提供多个入口点,reactjs,express,webpack,webpack-dev-server,react-boilerplate,Reactjs,Express,Webpack,Webpack Dev Server,React Boilerplate,我想使用react样板中的ExpressJS实例为两个具有共享代码库的不同应用程序使用webpack的多入口点 我有两个html和两个js文件 vendor.js的vendor.html和 settings.js的settings.html 一个Server.js和两个express实例 `Server.js const appVendor = express(); const appSetting = express(); setup(appVendor, { domain: 'Vendo

我想使用react样板中的ExpressJS实例为两个具有共享代码库的不同应用程序使用webpack的多入口点

我有两个html和两个js文件

vendor.js的vendor.html和 settings.js的settings.html

一个Server.js和两个express实例

`Server.js

const appVendor = express();
const appSetting = express();

setup(appVendor, {
 domain: 'Vendor',
 outputPath: resolve(process.cwd(), 'build_vendor'),
 publicPath: '/',
});

setup(appSetting, {
  domain: 'Setting',
  outputPath: resolve(process.cwd(), 'build_setting'),
  publicPath: '/',
});


 // Start your Vendor app.
appVendor.listen('3000', host, (err) => {
  if (err) {
    return logger.error(err.message);
  }
 console.log('Server listing to port ', 3000);
});

// Start your Setting app.
appSetting.listen('5000', host, (err) => {
 if (err) {
   return logger.error(err.message);
 }
 console.log('Server listing to port ', 5000);
 });
const plugins = [
 new webpack.HotModuleReplacementPlugin(), 
 new webpack.NoEmitOnErrorsPlugin(),
 new HtmlWebpackPlugin({
   template: 'app/indexVendor.html',
   chunk: ['vendor'],
 }),
 new HtmlWebpackPlugin({
   template: 'app/indexSetting.html',
   chunk: ['setting'],
 }),
 new CircularDependencyPlugin({
   exclude: /a\.js|node_modules/, 
   failOnError: false,
}),
];

 if (dllPlugin) {
   glob.sync(`${dllPlugin.path}/*.dll.js`).forEach((dllPath) => {
   plugins.push(new AddAssetHtmlPlugin({
    filepath: dllPath,
    includeSourcemap: false,
  }));
 });
 }
 module.exports = require('./webpack.base.babel')({
   entry: {
   vendor: [
    'eventsource-polyfill',
    'webpack-hot-middleware/client?reload=true',
    path.join(process.cwd(), 'app/appVendor.js'), 
   ],
   setting: [
     'eventsource-polyfill',
     'webpack-hot-middleware/client?reload=true',
     path.join(process.cwd(), 'app/appSetting.js'),
  ],
  },
  output: {
  // path: path.resolve(__dirname, 'build'),
   filename: '[name].js',
   chunkFilename: '[name].chunk.js',
  },
  // Add development plugins
   plugins: dependencyHandlers().concat(plugins), 

  // Emit a source map for easier debugging
  // See https://webpack.js.org/configuration/devtool/#devtool
  devtool: 'eval-source-map',

 performance: {
  hints: false,
 },
});
webpack.dev.babel.js

const appVendor = express();
const appSetting = express();

setup(appVendor, {
 domain: 'Vendor',
 outputPath: resolve(process.cwd(), 'build_vendor'),
 publicPath: '/',
});

setup(appSetting, {
  domain: 'Setting',
  outputPath: resolve(process.cwd(), 'build_setting'),
  publicPath: '/',
});


 // Start your Vendor app.
appVendor.listen('3000', host, (err) => {
  if (err) {
    return logger.error(err.message);
  }
 console.log('Server listing to port ', 3000);
});

// Start your Setting app.
appSetting.listen('5000', host, (err) => {
 if (err) {
   return logger.error(err.message);
 }
 console.log('Server listing to port ', 5000);
 });
const plugins = [
 new webpack.HotModuleReplacementPlugin(), 
 new webpack.NoEmitOnErrorsPlugin(),
 new HtmlWebpackPlugin({
   template: 'app/indexVendor.html',
   chunk: ['vendor'],
 }),
 new HtmlWebpackPlugin({
   template: 'app/indexSetting.html',
   chunk: ['setting'],
 }),
 new CircularDependencyPlugin({
   exclude: /a\.js|node_modules/, 
   failOnError: false,
}),
];

 if (dllPlugin) {
   glob.sync(`${dllPlugin.path}/*.dll.js`).forEach((dllPath) => {
   plugins.push(new AddAssetHtmlPlugin({
    filepath: dllPath,
    includeSourcemap: false,
  }));
 });
 }
 module.exports = require('./webpack.base.babel')({
   entry: {
   vendor: [
    'eventsource-polyfill',
    'webpack-hot-middleware/client?reload=true',
    path.join(process.cwd(), 'app/appVendor.js'), 
   ],
   setting: [
     'eventsource-polyfill',
     'webpack-hot-middleware/client?reload=true',
     path.join(process.cwd(), 'app/appSetting.js'),
  ],
  },
  output: {
  // path: path.resolve(__dirname, 'build'),
   filename: '[name].js',
   chunkFilename: '[name].chunk.js',
  },
  // Add development plugins
   plugins: dependencyHandlers().concat(plugins), 

  // Emit a source map for easier debugging
  // See https://webpack.js.org/configuration/devtool/#devtool
  devtool: 'eval-source-map',

 performance: {
  hints: false,
 },
});

如何使用webpack多入口点与server.js(IP和端口)进行通信

那么,您在哪里卡住了?它没有处理webpack的多入口点看看这个,您会找到您想要的