【问题标题】:Cannot set property 'size' of undefined 4无法设置未定义 4 的属性“大小”
【发布时间】:2018-12-22 09:30:16
【问题描述】:

我是使用 node.js 的新手,我收到这些错误:

TypeError:无法设置未定义的属性“大小” 在对象。 (C:\Users\User\Documents\latihannode.js\javascript4\test\script 4.js:4:10) 在 Module._compile (internal/modules/cjs/loader.js:678:30) 在 Object.Module._extensions..js (internal/modules/cjs/loader.js:689:10) 在 Module.load (internal/modules/cjs/loader.js:589:32) 在 tryModuleLoad (internal/modules/cjs/loader.js:528:12) 在 Function.Module._load (internal/modules/cjs/loader.js:520:3) 在 Function.Module.runMain (internal/modules/cjs/loader.js:719:10) 启动时(内部/bootstrap/node.js:228:19) 在 bootstrapNodeJSCore (internal/bootstrap/node.js:576:3)

在通知中这是错误代码:

die.size = 10;

这是页面 script4.js 中的代码:

var dice = require('./dice');
var die = dice.die;

    die.size = 10;
    console.log(die.roll());
    console.log(die.roll());
    console.log(die.roll());
    console.log(die.totalRolls);

    console.log(die);

这是在页面 dice.js 中:

var die = {
  size: 6,
  totalRolls: 0,
  roll: function() {
    var result = Math.ceil(this.size * Math.random());
    this.totalRolls += 1;
    return result;
  }
};


exports.game = die;
exports.name = "My dice exports";

【问题讨论】:

  • 您检查过dice 是否为空吗?
  • 问题是 die 是未定义的,正如它在错误消息中所说的那样。 dicedie 导出吗?
  • 您的命名似乎是矛盾的:您正在尝试访问您不导出的东西 - 可能希望在进一步了解之前弄清楚。
  • 我已经在 dice.js 中给出了 export die 但我认为需要 @torazaburo
  • 今天骰子问题太多了。猜猜新学期开始了,班里的每个人都在问问题。该错误清楚地表明dice.die; 未定义。看看你的出口,你看死了吗?不,我看到游戏和名称。基本调试var dice = require('./dice'); console.log(dice);

标签: javascript node.js


【解决方案1】:

在这里更改:

var dice = require('./dice');
var die = dice.game; // not die.die

【讨论】:

    猜你喜欢
    • 2021-11-27
    • 2022-10-30
    • 2023-02-10
    • 2015-12-07
    • 2013-05-28
    • 2016-02-23
    • 2011-11-20
    相关资源
    最近更新 更多