Erreur: impossible de trouver le module lors de l'essai avec moka
Je suis en utilisant babeljs
à écrire un RPG moteur de la bibliothèque. J'ai deux fichiers:
dice.js
import assert from 'assert';
import Random from 'random-js';
export default class Dice {
constructor(maxNumber) {
assert(typeof(maxNumber) === "number", "maxNumber must be a number");
this._mt = Random.engines.mt19937();
this.minNumber = 1;
this.maxNumber = maxNumber;
}
makeThrow() {
this._mt.autoSeed();
return Random.integer(this.minNumber, this.maxNumber)(this._mt);
}
}
throwManager.js
import assert from 'assert';
import Dice from 'dice';
export default class ThrowManager {
constructor(settings) {
assert(settings.hasOwnProperty("numberOfDices"), "must set 'numberOfDices'");
assert(settings.hasOwnProperty("maxNumberInDice"), "must set 'maxNumberInDice'");
assert(settings.maxNumberInDice <= 1, "must have at least 1 dice");
this.settings = settings;
}
execute() {
var throwResults = [];
for (var d = 1; d <= this.settings.numberOfDices; d++) {
var dice = new Dice(this.settings.maxNumberInDice);
throwResults.push(dice.makeThrow());
};
return throwResults;
}
}
Quand je test avec mocha
, je fais ces importations:
tests.js
var assert = require('assert');
var Amzhen = require('../Amzhen.js');
var random = require('random-js');
//tests here...
Pourtant quand je lance les tests, j'obtiens ceci:
Error: Cannot find module 'dice'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (/home/joel/Amzhen.js/Amzhen.js:47:28)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (/home/joel/Amzhen.js/test/tests.js:2:14)
Des idées pourquoi le dice
module n'est pas trouvé?
Je suis de compiler le code avec babel src --out-file Amzhen.js && mocha
Pouvez-vous montrer le code dans
Amzhen.js
qui nécessite dice
?OriginalL'auteur Joel A. Villarreal Bertoldi | 2015-03-08
Vous devez vous connecter pour publier un commentaire.
Vous devez utiliser:
'dice'
n'est pas le nom d'une publication, installé Node.js module, mais un fichier local, de sorte que vous devriez utiliser./dice
avec un chemin d'accès approprié.Voir aussi Le Module ne trouve pas d'erreur dans node.js
OriginalL'auteur Timothy Gu