Option 1 - Ändern NODE_PATH
(nicht empfohlen):
Modify NODE_PATH
umfassen die Modulpfade in der Schale vor dem Start node.js.
exports NODE_PATH=./path/to/module:$NODE_PATH
Dies ist keine gute Option, weil es einen Pre-Launch-Schritt erfordert, und - da die NODE_PATH
enthält viele Wege - es ist nicht immer klar, wo das Modul aus geladen wird, und es gibt die Möglichkeit, Namenskollisionen .
Option 2 - Schieben Sie das Modul in einen externen Repo
Lassen Sie uns sagen Sie die Komponenten in einem separaten ‚rootcomponents‘ auf GitHub Profil verfügbar Repo bewegen.
Dann können Sie es installieren direkt über:
npm install --save github:arackaf/rootcomponents
Dann sollten Sie in der Lage sein, das Projekt Quelle zu einem System.js alias abzubilden.
var systemJsConfig = {
baseURL: "./",
defaultJSExtensions: true,
map: {
'root-components': 'github:arackaf/rootcomponents'
}
};
Von dort sollte es, wie Sie erwartet:
require('root-components/foo');
Option 3 - Laden Sie das Modul über relative Pfad:
Die config.map
Option ist nur für Aliase externe Abhängigkeiten abzubilden .
Eine einfache Alternative besteht darin, einen relativen Pfad anzugeben. Verwandte Pfade basieren auf der baseURL.
Zum Beispiel, wenn Sie Last sind versuchen:
src/rootComponents/foo.js
Das wäre erforderlich:
require('./src/rootComponents/foo')
Hinweis: Dies alles setzt voraus, dass die require()
Aussagen folgendes System .js Muster/Regeln.
Eine andere mögliche Option ist die Bereitstellung einer System.paths[]
Option, die einen Alias für einen lokalen Pfad erstellt. Ich kann nicht überprüfen, wie/ob das funktioniert (dh ich habe es noch nie versucht), aber die Besonderheiten können here
Haben Sie diese Diskussion gesehen? https://gist.github.com/branneman/8048520. Ich glaube, es gibt ein paar Lösungen/Hacks, die für das, was Sie versuchen, relevant sind. – user2263572
Warum würden Sie einen anderen Modullademechanismus für Tests verwenden? Warum nicht SystemJs auch dort verwenden? –
SystemJS ist zum Laden von Dingen in den Browser. Mocha läuft im Knoten. –