Bronnen zijn bestanden die worden gebruikt als middelen in de weergave van een webpagina, zoals CSS-bestanden, JavaScript-bestanden en afbeeldingen. Resources samen verpakt in een directory worden gepubliceerd als zodanig zijn een bron bibliotheek genoemd.
Wanneer een bron is opgenomen in de head sectie van een HTML-pagina, is dit een bron opname noemen we. Een inclusie van een bepaalde bron in een bepaalde bibliotheek. Er zijn twee vormen van dit soort opname in HTML: javascript is opgenomen met behulp van de script-tag, en CSS (en KSS) zijn opgenomen met behulp van een link tag.
Inclusies kan afhangen andere insluitsels. Een javascript bron kan bijvoorbeeld worden gebouwd op de top van een ander javascript bron. Dit betekent dat beide moeten worden geladen wanneer de pagina wordt weergegeven.
Paginacomponenten kan zelfs vereisen een zekere opnemen om functioneel te zijn. Een widget kan bijvoorbeeld verwachten dat een bepaalde Javascript bibliotheek om geladen. We noemen dit een vereiste opname van de component.
hurry.resource is een module die een eenvoudige API levert aan middelen bibliotheken, integratie en vereisten insluiting specificeren.
Een bron bibliotheek
We definiëren een bibliotheek foo. Het duurt twee argumenten, de naam van de bibliotheek als het onder moet worden gepubliceerd in een URL en uniek te identificeren, en een pad naar de wortel van de middelen (ROOTPATH) dat deze bibliotheek publiceert:
>>> Van hurry.resource import Library
>>> Foo = Library ('foo', 'dummy')
Het volledige pad naar de directory met de middelen wordt gereconstrueerd uit het pakket dat de bibliotheek is gedefinieerd in:
>>> Foo.path #doctest: + Ellipsis
'... / Hurry.resource / src / haast / resource / dummy'
Entry punten
Bibliotheken kunnen worden blootgesteld voor de registratie door welke web framework dat hurry.resource is geïntegreerd met. Deze web kader kan dan de bibliotheek pad bloot op een URL ergens. Dit wordt gedaan met behulp van de hurry.resource.libraries entry point. Om Bibliotheek gevallen foo en bar in uw pakket registreren als instap punten onder een sectie als dit in uw setup.py:
entry_points = {
& Nbsp; 'hurry.resource.libraries': [
& Nbsp; 'foo = mypackage.foomodule: foo',
& Nbsp; 'bar = mypackage.barmodule: bar,
& Nbsp;]
& Nbsp;}
Er is een API om u te helpen alle geregistreerde bibliotheken te verkrijgen:
>>> Van hurry.resource import bibliotheken
Niets is echter geregistreerd:
>>> Lijst (libraries ())
[]
Het zou leuk zijn om nu een aantal tests dat zien of toegangspunten eigenlijk opgehaald zo, maar dat zou een betrokken proefopstelling die we vinden het moeilijk om te bouwen nodig.
Wat is nieuw in deze release:
- De WSGI Middleware is afhankelijk van WebOb, dat is een optionele afhankelijkheid. Stel het niet bloot in de __init__.py dus, zoals dat moet onafhankelijk van WebOb zijn. Om de middleware import rechtstreeks gebruiken vanaf hurry.resource.wsgi.
- De bibliotheek fabriek heeft nu worden genoemd met een ROOTPATH argument als tweede argument. Dit is een pad naar de werkelijke bron directory die de bibliotheek vertegenwoordigt ten opzichte van de directory van het pakket. Dit is nodig om ervoor te `` hurry.resource`` nuttig voor kaders niet gebaseerd op zope.configuration.
- Dit breekt achterwaartse compatibiliteit met eerdere versies van hurry.resource; alle code die Library gebruikt moet worden aangepast. Gelieve ook hun setup.py updaten om afhangen hurry.resource & gt;. = 0.10
- Pakketten moeten hun Bibliotheek gevallen inschrijven bij hurry.resource via de hurry.resource.libraries entry point.
Eisen
- Python
Beperkingen :
- hurry.resource is vervangen door de Fanstatic project
Reacties niet gevonden