Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.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 如何在Web包包中包含子进程?_Javascript_Node.js_Webpack_Child Process - Fatal编程技术网

Javascript 如何在Web包包中包含子进程?

Javascript 如何在Web包包中包含子进程?,javascript,node.js,webpack,child-process,Javascript,Node.js,Webpack,Child Process,我有一个节点应用程序,它使用fork方法运行后台进程。问题在于,从索引运行web包配置不会捆绑后台进程的文件,从而导致在到达fork时出错 所有代码都使用Babel语法以及其他一些好东西 我如何告诉webpack也捆绑分叉文件 提前感谢。我自己刚刚偶然发现了这个问题,我想我可以提到一个快速解决方法是在您的webpack配置中为您的子进程添加一个附加条目(为您的子进程创建一个单独的包),然后通过一些解决规则或简单地通过以下方式使其使用此包: 一些示例网页包配置: module.exports =

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

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

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


提前感谢。

我自己刚刚偶然发现了这个问题,我想我可以提到一个快速解决方法是在您的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...
};
这取决于更换加载程序:

npm install --save-dev string-replace-loader

也许不是最干净的解决方案,但它对我很有效,我认为它很简单。

'_(ツ)_/“'如果代码位于由您的take链处理的源目录中,则应该可以。如果没有任何详细信息,则很难提供帮助。网页包配置以index.js文件为目标,并创建一个捆绑包。index.js中有一个子进程,如fork('daemon.js'))。这两个文件都使用babel语法和webpack启用的其他功能。当捆绑包运行并开始执行daemon.js文件时,它会崩溃,因为它使用的是非传输语法。我如何将子进程文件包含到捆绑包中,并在其他进程中运行它?你能提供一个方法吗?它可能会尝试直接使用相对路径因此得到了一个非传输版本。请您详细说明一下解决方案好吗?Web包似乎没有打包使用
child\u process.fork()引用的文件。