微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

copy-webpack-plugin 配置问题

如何解决copy-webpack-plugin 配置问题

一个 electron.js 应用程序中,我试图根据这些指示从 node.js 调用和执行 python 脚本: https://nodejs.org/api/child_process.html#child_process_child_process_execfile_file_args_options_callback

import { execFile } from 'child_process';

let pythonPath = '/home/marco/anaconda3/bin/python3';

execFile('./scripts/factorial.py',[parseInt(msg)],{ cwd: './scripts',env: '/home/marco/anaconda3/bin/python3'
  },(error,stdout,stderr) => {
    if (error) {
      throw error;
    }
    console.log(stdout);
  }
);

我收到此错误

enter image description here

评论 options 部分时:

execFile('./scripts/factorial.py',//{ cwd: './scripts',//env: '/home/marco/anaconda3/bin/python3'
  //},stderr) => {
    if (error) {
      throw error;
    }
    console.log(stdout);
  }
);

我遇到了同样的错误

遵循此处的指示:https://www.tutorialspoint.com/run-python-script-from-node-js-using-child-process-spawn-method修改代码如下:

const { spawn } = require('child_process');

let nb = parseInt(msg);

function runScript() {
  return spawn ('python3',[
    "-u",path.join(__dirname,'./scripts/factorial.py'),nb,]);
}

const subprocess = runScript();

subprocess.stdout.on('data',(data) => {
  console.log(`data:${data}`);
});

subprocess.stderr.on('data',(data) => {
  console.log(`error:${data}`);
});

subprocess.stderr.on('close',() => {
  console.log("Closed");
});

我收到此错误

error:python3: can't open file '/home/marco/webMatters/electronMatters
/PythonConnection/.webpack/main/scripts/factorial.py': [Errno 2] No 
such file or directory

Closed

按照此处找到的指示:https://webpack.js.org/plugins/copy-webpack-plugin/#root 我将 /tools/webpack/webpack.plugins.js 修改为:

 const copyPlugin = require("copy-webpack-plugin");
module.exports = [
  new ForkTsCheckerWebpackPlugin(),new webpack.ExternalsPlugin('commonjs',[
    'electron'
  ]),new copyPlugin({
    patterns: [
      { from: "src/scripts/",to: ".webpack/main/script/" },],}),];

对我来说,它似乎尊重标准,但我收到了这么长的错误消息:

An unhandled error has occurred inside Forge:
compilation.getCache is not a function
TypeError: compilation.getCache is not a function
    at /home/marco/webMatters/electronMatters/PythonConnection
/node_modules/copy-webpack-plugin/dist/index.js:459:33
    at SyncHook.eval (eval at create (/home/marco/webMatters
/electronMatters/PythonConnection/node_modules/tapable
/lib/HookCodeFactory.js:19:10),<anonymous>:7:1)
at SyncHook.lazyCompileHook (/home/marco/webMatters/electronMatters
/PythonConnection/node_modules/tapable/lib/Hook.js:154:20)
at Compiler.newCompilation (/home/marco/webMatters/electronMatters
/PythonConnection/node_modules/webpack/lib/Compiler.js:630:30)
at /home/marco/webMatters/electronMatters/PythonConnection
/node_modules/webpack/lib/Compiler.js:667:29
at AsyncSeriesHook.eval [as callAsync] (eval at create (/home/marco
/webMatters/electronMatters/PythonConnection/node_modules/tapable
/lib/HookCodeFactory.js:33:10),<anonymous>:6:1)
at AsyncSeriesHook.lazyCompileHook (/home/marco/webMatters
/electronMatters/PythonConnection/node_modules/tapable
/lib/Hook.js:154:20)
at Compiler.compile (/home/marco/webMatters/electronMatters
/PythonConnection/node_modules/webpack/lib/Compiler.js:662:28)
at /home/marco/webMatters/electronMatters/PythonConnection
/node_modules/webpack/lib/Watching.js:77:18
at AsyncSeriesHook.eval [as callAsync] (eval at create (/home/marco
/webMatters/electronMatters/PythonConnection/node_modules/tapable
/lib/HookCodeFactory.js:33:10),<anonymous>:33:1)
at AsyncSeriesHook.lazyCompileHook (/home/marco/webMatters
/electronMatters/PythonConnection/node_modules/tapable
/lib/Hook.js:154:20)
at Watching._go (/home/marco/webMatters/electronMatters
/PythonConnection/node_modules/webpack/lib/Watching.js:41:32)
at /home/marco/webMatters/electronMatters/PythonConnection
/node_modules/webpack/lib/Watching.js:33:9
at Compiler.readRecords (/home/marco/webMatters/electronMatters
/PythonConnection/node_modules/webpack/lib/Compiler.js:529:11)
at new Watching (/home/marco/webMatters/electronMatters
/PythonConnection/node_modules/webpack/lib/Watching.js:30:17)
at Compiler.watch (/home/marco/webMatters/electronMatters
/PythonConnection/node_modules/webpack/lib/Compiler.js:244:10)
error Command Failed with exit code 1.

似乎更进一步,但仍有待修复

节点版本:v14.5.0 操作系统:Ubuntu 18.04 Desktop

如何解决问题? 期待您的帮助

解决方法

似乎您的问题是您使用的 webpack

就去做:

npm install copy-webpack-plugin@6 --save-dev

修复它。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?