2017-07-24 26 views
0

我是NodeJS開發的新手,我已經設置了Visual Studio Code來爲節點應用程序開發JavaScript。儘管模塊已導出,但無法設置未定義的屬性「大小」

我當時正在關於Pluralsight的一個講座上,我們剛剛講述了關於Objects的部分。老師做的是製作兩個腳本,dice.jsprogram.js,並將它們放在同一個文件夾中。我也是這樣做的。

他們看起來像這樣:

dice.js:

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

exports.game = die; 

program.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("Total rolls " + die.totalRolls); 

console.log(die); 

每當我試着運行program.js文件通過Visual Studio代碼然而,它告訴我,屬性「大小」是未定義的。如果我嘗試使用點連接器我得到這個:

enter image description here

所以大小是不存在的。教官計劃工作得很好,但我這樣做不斷給我錯誤。我到處尋找,試圖瞭解可能出現的問題。我的猜測是我沒有正確使用require(),或者其他的東西。來自Strongly Typed編譯語言,這對我來說非常混亂。

我錯過了什麼?

+0

您正在將其導出爲遊戲並嘗試將其作爲遊戲存取。 – Shubham

回答

3

你出口的東西叫做遊戲,但是導入死亡,所以很自然,這不會起作用。

// dice.js 
exports.game = die; 
// program.js 
var dice = require("./dice"); 
var die = dice.die; // <- this is wrong, change to .game: 
var die = dice.game; 
+0

好的。我會回去改變我的代碼。但是,爲什麼它對教練來說呢?看看[這張圖片](http://puu.sh/wRFNR/984e267239.jpg)然後在[這張圖片](http://puu.sh/wRFPV/3934fa2680.jpg) – OmniOwl

+1

@Vipar最初的截圖 - 教師導出爲'die'('exports.die = die'' you''exports.game = die') – Jamiec

相關問題