代码之家  ›  专栏  ›  技术社区  ›  Jeff Saremi

node.js中未定义process.argv

  •  1
  • Jeff Saremi  · 技术社区  · 6 年前

    平台:windows 10

    节点-v:v10.7.0

    process.argv.forEach((val, index) => {
        console.log(`${index}: ${val}`);
      });
    

    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)
    
    2 回复  |  直到 6 年前
        1
  •  6
  •   quento    5 年前

    解决方案

    因此,要解决:

    1. 把它一行一行地放在上面,找出代码是什么 覆盖它

    旧建议:

    就我而言,即使我把它放在第一行,它也被“重新定义”“过程”是一种功能。

    const process = require('process');

        2
  •  2
  •   dossy    6 年前

    重申我的评论作为回答 DarrenCook confirmed I was correct in his particular case :

    sample.js 文件。具体地说,在第4行之前的第1-3行,你的 process.argv.forEach() ? 我保证这三行中有一行是重新定义的 process 成为一个 Function 而不是 Object 应该是的。

        3
  •  -3
  •   Parsa    6 年前