process.argv 在 node.js 中未定义

Jef*_*emi 4 node.js

我似乎无法在节点中运行最简单的脚本:

平台:Windows 10

节点-v:v10.7.0

文件:“sample.js”

process.argv.forEach((val, index) => {
    console.log(`${index}: ${val}`);
  });
Run Code Online (Sandbox Code Playgroud)

命令行:

D:\temp>node sample.js 1 2 3
D:\temp\sample.js:4
process.argv.forEach((val, index) => {
             ^

TypeError: Cannot read property 'forEach' of undefined
    at Object.<anonymous> (D:\temp\sample.js:4:14)
    at Module._compile (internal/modules/cjs/loader.js:689:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Function.Module._load (internal/modules/cjs/loader.js:530:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
    at startup (internal/bootstrap/node.js:266:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:596:3)
Run Code Online (Sandbox Code Playgroud)

que*_*nto 9

解决方案

我发现,我定义了下面的函数 process,这就是为什么 process 对象被我自己覆盖的原因。

所以,要解决:

  1. 检查您是否没有使用函数覆盖“进程”对象

  2. 将其逐行初始化并查找覆盖它的代码

旧建议:

就我而言,即使我把它放在第一行,它也被“重新定义”了。“过程”是一个函数。

为了检索对象,我使用了显式调用:

const process = require('process');


小智 -5

代码正确,重新安装node.js。