React a webpack a require js souboru rubrika: Programování: JavaScript

3 petrnev
položil/-a 6.10.2016
 
upravil/-a 7.10.2016

Ahoj,

pouzivam react a webpack. Kdyz potrebuju includnout modul, tak pouziju normalne import.

Potreboval bych includnout kus javascriptovyho kodu (stazenyho odjinud) aniz bych ho jakkoliv upravoval (nepridaval 'export function' nebo neco podobneho). V podstate takovy eval.

Nevim, zda jsem se vyjadril srozumitelne, ale nevi nekdo, jak se to resi?

Dik.

Upraveno:

Obecne pouzivam import * as neco from neco, ale mame v projektu globalni promennou (definovanou pod window) a musi to tak zustat.

Kod, ktery importuju pridava veci prave do toho externiho objektu (takovej plugin).

Komentáře

  • skliblatik : Nešlo by ten "plugin" vložit do stránky přes [script src="..."] a aplikaci za něj přes další [script...]? Je ten "plugin" využíván jinak než pro naplnění té globální proměnné? 7.10.2016
  • petrnev : @skliblatik. Ahoj, to by slo, ale radci bych mel inicializaci "pluginu" nekde v ramci sve komponenty a pouzit, jen kdyz je potreba. Ale jestli to nepujde jinak, pujdu touto cestou. Dik moc za reakci. 7.10.2016
  • HonzaMarek : Tak to asi půjde i přidat skriptem v componentWillMount. createElement... appendTo head 7.10.2016
  • skliblatik : @HonzaMarek: To zní dobře. Komponenta ve vhodný okamžik vyjádří přání, aby okolí nějak vypadalo. 8.10.2016
odkaz
11 Občan
odpověděl/-a 6.10.2016

ten kus kódu, který stáhneš bude nejspíše AMD, CommonJS, ES6 Module, nebo bude exportovat do globální proměnné. Může kombinovat vícero způsobů. A může používat pro začlenění X dalších způsobů. Javascript je prostě v tomto velice dobrodružný. Takže záleží na tom, co je konkrétně ten stažený kód zač. Ideálně to může probíhat: npm install neco a pak rovnou v kódu třeba: import * as neco from neco. Ovšem někdy je třeba napsat dokonce wrapper, někdy pomůže Webpack shimming. Možností je velice mnoho. Bude dobré uvést, který nástroj pro závislosti používáš a jaký modul konkrétně potřebuješ začlenit.

Komentáře

  • petrnev : Dik moc za reakci, dopsal jsem do prispevku blizsi info. 7.10.2016
  • Občan : Jak jsem psal, moduly exportující přes window objekt jsou naprosto běžný a Webpack je na ně vyzbrojen. Bohužel toto je běžná praxe. Taková závislost kódu se pak nechá snadno zapouzdřená pomocí import a export webpack loaderu, tyto loadery mají perfektní dokumentaci, ze které lze pochopit princip. Např.: require("imports?window=>{necoDovnitr: 'hello world'}!exports.necoVen?window.!./balik-odjinud.js"). Mám pocit, že jde o snahu použít import místo require, ale tyto metody se nevylučují, ale doplňují, jako v tomto případě. Ještě doporučuju pročíst v dokumentaci "Webpack shimming". 7.10.2016

Pro zobrazení všech 2 odpovědí se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.