Vermeidung von (../../../ ..) relativen Pfaden mit grunt mocha

8

Beim Komponententest habe ich am Anfang meiner Projektstruktur ein Verzeichnis mit dem Namen test , dessen Verzeichnisstruktur den Quellcode nachahmt, der getestet werden soll. Diese Verzeichnisse können jedoch ziemlich tief werden, zum Beispiel

app/src/js/models/User.js

mit vielleicht einem Test in

test/app/src/js/models/User.js .

Wenn ich nun das User.js Modul einfügen möchte, verwende ich require('../../../../../app/src/js/models/Users.js') , was sehr umständlich ist.

Idealerweise würde ich require('/app/src/js/models/User.js') oder vielleicht sogar require('User.js') verwenden.

Ist das möglich? Ich benutze grunt-mocha-test , aber ich denke, die Frage ist allgemeiner.

    
Brendon 03.01.2015, 14:37
quelle

1 Antwort

2

Es gibt mehrere Optionen, die Sie verwenden könnten. Ihre beste Wette wäre wahrscheinlich, einige npm Modul zu verwenden, zum Beispiel dieses . Durchsuche das npm-Verzeichnis nach require , es gibt Unmengen an Optionen, also wähle, was dir am besten passt.

Alternativ könnten Sie eine Hilfsfunktion schreiben, die etwas Ähnliches macht.

Wenn Sie nach einer systemeigenen Methode (in Node.js integriert) gesucht haben, um dies zu erreichen, gibt es leider keine. Sie müssen entweder eine benutzerdefinierte Funktion oder ein npm-Modul verwenden, um dies auf eine nette, wiederverwendbare Weise zu tun.

    
Robert Rossmann 03.01.2015 14:48
quelle

Tags und Links