【问题标题】:Use the requirejs module without importing it with node使用 requirejs 模块而不用 node 导入它
【发布时间】:2021-10-26 00:43:29
【问题描述】:

我想从 javascript 运行一个 python 文件,并确定最简单的方法是使用'spawn'...但是,我需要使用 require('child_process')。我真的需要帮助才能让它工作,而不是在终端中使用 npm。

<script src="https://cdn.jsdelivr.net/npm/child_process@1.0.2/index.min.js"></script>
<script src="https://requirejs.org/docs/release/2.3.6/minified/require.js"></script>

<script>
const spawn = require('child_process').spawn;
const childPython = spawn('python',['python.py', data]);

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

childPython.stderr.on('data',(data)=>{console.log('stderr:', data)});

childPython.on('data',(code)=>{console.log('process closed with:', code)});
</script>

【问题讨论】:

  • 您不能在客户端 JavaScript 中通过 spawn 运行子进程。你只能在 NodeJs 中做到这一点。您需要构建一个服务器端脚本,可以从浏览器触发以运行脚本
  • 是否希望在浏览器中执行任意 JavaScript 以生成它想要的任何可执行文件?

标签: javascript python requirejs require child-process


【解决方案1】:

这在客户端不起作用。但是您可以通过向服务器端发出请求以运行特定的 python 代码并在响应中返回结果来实现您想要的。然后你就可以在客户端进行 console.log 了。

【讨论】:

  • 是的。但是 require() 用于许多其他过程......比如依赖关系网络。弄清楚如何使用它会很有帮助……尤其是如果您更喜欢 python 服务器。我正在使用 apache2(简单)。目标不是运行 python,而是让 require() 在没有节点的情况下工作。
  • 通过在服务器上启用 cgi,我能够让 python 在 apache2 上工作:
猜你喜欢
  • 2017-04-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多