You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Dec 14, 2018. It is now read-only.
Goal:
As a developer, be able to inject a script dynamically. For example from a controller, a filter, or a service.
Design suggestion:
Create a ITagHelperComponentManager for devs to resolve it and add new ITagHelperComponent instances.
ITagHelperComponentManager could be a DI-registered composite of ITagHelperComponent. (need to solve what order it should have compared to other DI-registered ones)
Create a ScriptTagHelperComponent and other types of resources that can be used directly from code.
Usages examples:
From a view or a view component, we can register custom scripts
From a filter or a controller, inject a script based on some condition.
Other ideas:
We could also provide some methods on the manager, or extension methods, to prevent duplicate scripts. Like TryAddScript(string), TryAddStylesheet(string). These could also be available as Tag Helpers.
A future need will be to provide another service to handle a sort of DI container for client assets (dependencies, orders, cdn, hash, async, ...) that would ultimately register components on this ITagHelperComponentManager.