如何在 webpack 包中包含子进程?

AJ_*_*310 7 javascript child-process node.js webpack

我有一个 Node 应用程序,它使用该fork方法来运行后台进程。问题是,从索引运行 web pack 配置不会捆绑后台进程的文件,从而导致到达 fork 时出错。

所有代码都使用 Babel 语法以及其他一些好处。

我如何告诉 webpack 也捆绑分叉文件?

提前致谢。

aud*_*sol 2

我自己偶然发现了这个问题,我想我可以提到一个快速修复方法是在你的子进程的 webpack 配置中添加一个额外的条目(为你的子进程创建一个单独的包),然后让它通过某种解析来使用这个包-rules,或者简单地通过string-replace-loader

一些 webpack 配置示例:

module.exports = {
   // ...
   target: 'node',
   entry: {
     server: './server/server.js',
     daemon: './daemon.js'
   },
   output: {
     path: path.resolve(__dirname, '../serverdist'),
     filename: '[name].bundle.js'
   },
   module: {
     rules: [
       // ... your other existing rules for building the server code
       {
         test: /placeWhereYouAreCallingFork.js$/,
         loader: 'string-replace-loader',
         options: {
           search: 'daemon.js',
           replace: 'serverdist/daemon.bundle.js'
         }
       }
     ]
   }
   // Other webpack stuff...
};
Run Code Online (Sandbox Code Playgroud)

这取决于替换加载程序:

npm install --save-dev string-replace-loader
Run Code Online (Sandbox Code Playgroud)

也许不是最干净的解决方案,但它对我有用,而且我认为它非常简单。