730 Stimmen

Lokale Abhängigkeit in package.json

Ich möchte etwas in dieser Art machen, also npm install installiert auch die package.json de ../somelocallib oder, was noch wichtiger ist, seine Abhängigkeiten.

"dependencies": {
    "express": "*",
    "../somelocallib": "*"
}

2voto

damirv Punkte 79

Tatsächlich gibt es seit npm 2.0 nun Unterstützung für lokale Pfade (siehe aquí ).

2voto

Sahil Rajput Punkte 188

Im Jahr 2021 müssen Sie es wie folgt verwenden:

npm i my-pkg@file:./path-to-my-pkg.js

# To remove it later
npm un my-pkg

使用する .js am Ende, wenn es sich um eine Datei handelt ODER um den Pfad zum Ordner, wenn es sich um ein komplettes Paket mit package.json .

Verwendung

const myPkg = require('my-pkg')

Das funktioniert wie ein Zauber!

1voto

Samuel Punkte 2135

Vollständiger lokaler Entwicklungsleitfaden für Garn Benutzer:

Fügen Sie zunächst die Abhängigkeit zu Ihrem Hauptprojekt hinzu:

cd main-project
yarn add file:../path/to/your-library

Wenn Sie vermeiden wollen, dass diese Abhängigkeit bei jeder Änderung des Quellcodes neu erstellt wird, sollten Sie als Nächstes den Quellcode ändern:

cd your-library
yarn link

Dadurch wird ein Link zu Ihrer Bibliothek registriert. Als nächstes verwenden Sie den soeben erstellten Link in Ihrem Hauptprojekt.

cd main-project
yarn link your-library

Jedes Mal, wenn Sie den Code in Ihrer Bibliothek ändern, brauchen Sie ihn nicht neu zu erstellen und er wird automatisch in Ihr Hauptprojekt aufgenommen. Yarn Link funktioniert durch das Anlegen von Symlinks in Ihrem node_modules-Ordner, lesen Sie mehr darüber hier: https://classic.yarnpkg.com/lang/en/docs/cli/link/

0voto

Fuad Chonora Punkte 19

Modul-Alias verwenden

  1. Installieren Sie das Paket module-alias:

    npm i --save module-alias

  2. Fügen Sie Pfade zu Ihrer package.json wie folgt hinzu:

    { "_moduleAliases": { "@lib": "app/lib", "@models": "app/models" } }

  3. In Ihrer Einstiegsdatei, vor allen require()-Aufrufen:

    require('module-alias/register')

  4. Sie können nun Dateien wie diese anfordern:

    const Article = require('@models/article');

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X