browserify require in der erforderlichen Datei kann das Modul nicht finden

Ich versuche, meine eckigen js mit browserify in ein einziges Skript zu packen. Es funktioniert gut, wenn ich @ benutrequire aus meiner Hauptdateiapp.js, aber wenn eines der Module in @ erforderliapp.js enthält ein eigenesrequire, die Abhängigkeit ist nicht in meinem Bundle enthalten.

Zur Erinnerung, inapp.js (Link zur Zeile im Repo):

require("splash-header");
// more code here

splashHeader.js:

require("social-button-directive");
// more code here

socialButtons.js hat keine Abhängigkeiten.

browserify --list app.js listet @ nicht asplashHeader.js wie es sollte, und das Bundle produziert überbrowserify app.js -o bundle.js enthält kein Javascript von socialButton. Wenn ich also trotzdem versuche, die Site zu laden, erhalte ichUncaught Error: Cannot find module 'social-button-directive' bei splashHeader'srequire('social-button-directive').

Auch wichtig zu beachten, dass ich Modulnamen mithilfe der Option "browser" in @ den Speicherorten der Dateien zuordnpackage.json und mit browerify-shim, da keines meiner Module common-js-kompatibel ist.

relevanter Abschnitt von package.json:

"dependencies": {
    "browserify": "~9.0.3",
    "browserify-shim": "~3.8.3"
},
"browserify": {
    "transform": [
        "browserify-shim"
    ]
},
"browserify-shim": {
    "splash-header": {
        "depends": "angular",
        "exports": "angular.module('splash-header').name"
    },
    "social-button-directive": {
        "depends": "angular",
        "exports": "angular.module('social-button-directive').name"
    }
},
"browser":{
    "splash-header": "./ng-modules/splashHeader/splashHeader.js",
    "social-button-directive": "./ng-modules/socialButtons/socialButtons.js"
}

Ich war den ganzen Morgen dabei und bin völlig ratlos. Ich habe das beleidigende Projekt gekürzt, um als @ zu diene ein minimales Beispiel für das Problem. Zum Testen einfach klonen und npm installieren. Wenn Sie im Detail suchen, ist hier das working / not working version diff.

Ich habe versucht, das Submodul über den relativen Pfad zu laden require('./ng-modules/socialButtons/socialButtons.js) `), kein Glück. Vielleicht habe ich die Dinge falsch eingestellt? Mein Ansatz dazu kommt vonDieser Artike.

BEARBEITE: Es ist mit Sicherheit meine Browserify-Shim-Konfiguration. Alles funktioniert, nachdem die Module in commonjs konvertiert und die browserfy-shim-Optionen aus package.json entfernt wurden. Ich musste wohl alles aufschreiben, um es festzuhalten. = /

Antworten auf die Frage(0)

Ihre Antwort auf die Frage