scoped Nach den browserify-shim docs, können Sie angeben, welche Globals browserify-Shim aus Ihrem alten Module aussetzen muss durch die folgende Syntax in Ihrem package.json
mit:browserify-Shim nicht implizite Globals exportieren, wenn sie var
{
"browserify-shim": {
"legacyModule": "myVar"
}
}
ich mag die Legacy-Modul über require('legacyModule')
und window.myVar
zugänglich sein.
Aus meiner Erfahrung, wenn das nicht-Commonjs Modul I zu Shim versuchen verwendet window.myVar = x
oder nur myVar = x
wird das Modul weltweit ausgesetzt und sind über require()
als erwartet.
jedoch, wenn das Legacy-Modul var myVar = x
verwendet, das ist, was das Problem verursacht, wenn das Modul dann über require('legacyModule')
und nicht über window.myVar
nur zugänglich ist.
Die browserify-shim documentation besagt, dass:
Zusätzlich übernimmt er die folgenden realen Grenzfälle:
- Module, die eine
var foo = ...
auf der Skriptebene deklarieren nur und annehmen, dass es auf die beigefügten wirdwindow
Objekt. Denn der einzige Weg, den sie jemals führen werden, ist im globalen Kontext - "ahem, ... NEIN ?!"
Sie sind derjenigediejenigedasjenige, Legacy-Module mit browserify Bündelung? Wenn nicht, wie werden sie in Ihre Seite integriert? – JMM
Ja, sie werden mit Browserify gebündelt. –
Was genau möchten Sie tun ?: A) Nur in der Lage zu sein ('LegacyModule') 'in Ihren browserifizierten Modulen, oder B) auch auf' window.myVar' zugreifen zu können? – JMM