2016-07-29 14 views
0

Ich arbeite an einer Angular-Anwendung, die in eine größere integriert werden kann. Wir verwenden RequireJs und migrieren zu Webpack. Mein Code ist abhängig von einem externen requirejs Modul im Format:Externes Webpack-Modul mit komplexem Namen erforderlich

var x = require('foo/foo/bar'); 

Edit: das Modul tatsächlich ein Skript in serverroot/foo/foo/bar.js befindet.

In meinem webpack.config.js ich webpack sage mit diesem Modul nicht zu stören, weil sie extern vorgesehen ist:

externals: { 
    'foo/foo/bar': 'foo/foo/bar' 
} 

Dies wird durch webpack den folgenden Code erzeugt:

/* 15 */ 
/***/ function(module, exports) { 

    module.exports = foo/foo/bar; 

/***/ }, 

Was offensichtlich einen Fehler verursacht.

Also ... wie kann ich es funktionieren lassen?

Antwort

0

Die externe Bibliothek oder Ziel eine var zum globalen Kontext aussetzen sollte, beispielsweise externe Jquery-Bibliothek:

externals: { 
    // require("jquery") is external and available 
    // on the global var jQuery 
    "jquery": "jQuery" 
} 

so in Ihnen Fall, wenn require('foo/foo/bar') eine globalFoo Variable aussetzen würde, könnte man das Set externals:

externals: { 
    "globalFoo": "foo/foo/bar" 
} 
+0

Ich habe keinen Zugriff auf die externe Bibliothek, um eine Variable verfügbar zu machen ... Sie befindet sich in serverRoot/foo/foo/bar.js –