在代码中执行“ npm i”命令时添加不必要的文件

时间:2019-03-31 18:22:24

标签: node.js npm exec

我有4个相互依赖的项目,3个节点服务器和1个反应项目。 我想在外部服务器上编写一个名为“ go.js”的小脚本,该脚本为我的所有项目运行“ npm i”命令,一个接一个。

我在节点中构建了以下代码来测试一个项目(这是go.js代码):

const exec = require('child_process').exec;
exec('npm i --prefix C:\\Or\\_OSREnterprises\\Web\\OSRWebVisualizer\\WebVisualizer\\streamer\\', {}, function(error, stdout, stderr) {
    console.log(error);
    console.log(stdout);
    console.log(stderr);
  // work with result
});

和我得到的输出:

> manager@1.0.0 go C:\Or\_OSREnterprises\Web\OSRWebVisualizer\WebVisualizer\manager
> node src/scripts/go.js

null
C:\Or\_OSREnterprises\Web\OSRWebVisualizer\WebVisualizer\streamer\parser -> C:\Or\_OSREnterprises\Web\OSRWebVisualizer\WebVisualizer\streamer\node_modules\@babel\parser\bin\babel-parser.js
C:\Or\_OSREnterprises\Web\OSRWebVisualizer\WebVisualizer\streamer\jsesc -> C:\Or\_OSREnterprises\Web\OSRWebVisualizer\WebVisualizer\streamer\node_modules\jsesc\bin\jsesc
C:\Or\_OSREnterprises\Web\OSRWebVisualizer\WebVisualizer\streamer\mime -> C:\Or\_OSREnterprises\Web\OSRWebVisualizer\WebVisualizer\streamer\node_modules\mime\cli.js
+ manager@1.0.0
added 107 packages from 102 contributors and updated 1 package in 7.807s

,当我转到“ streamer”文件夹时,我看到“ node_modules”文件夹在那里,但是该节点添加了一些奇怪且不必要的文件: enter image description here

有什么办法可以避免添加这些文件? 谢谢。

1 个答案:

答案 0 :(得分:0)

我将代码更改为:

const exec = require('child_process').exec;
exec(command, {
                    cwd: applicationPath
                }, (error, stdout, stderr) => {

                    resolve({
                        error: error,
                        stdout: stdout,
                        stderr: stderr
                    });
                });

它无需创建文件即可工作。