Newsgroup: it.comp.dotnet
Titolo: [?] Creare una DLL "javascript"

Ciao,
mi chiedevo:
ogni volta che sviluppo un progetto web, ho una quantità di js e allegati 
vari (css per lo più) che continuo a copiaincollare da un sito all'altro.
Vorrei usare sempre gli stessi ... un po' come faccio con la mia dll 
"comuni", che contiene appunto funzionalità generiche e che uso in tutti 
i siti (e, se la aggiorno, ricompilo e aggiorna tutti i siti).
Come faccio adesso, invece, quando modifico un js diventa "diverso" da 
quello presente negli altri siti, e dovrei modificarli uno a uno a mano, 
mi diventa impossibile (e quindi come risultato ho tutti i js con 
"versioni" diverse tra i vari siti).
Non so se sia fattibile, a me non viene in mente come ... ci vorrebbe un 
qualcosa che "compili" i file js, css ed eventuali altri in una dll, e 
poi li "estragga" al momento in una dir del sito ...utopia?
L'unica idea che mi è venuta in mente è di acquistare un sito "ad hoc" 
dove metterli tutti, e poi referenziarli da remoto. Ma, dato che mi 
occupo molto di intranet aziendali, temo non sia una soluzione 
applicabile.
Grazie a tutti
Cristiano 

 poi li "estragga" al momento in una dir del sito ...utopia?
Tra le varie applicazioni a cui lavoro, ce n'è una in cui abbiamo i file 
JavaScript embedded dentro una dll, e vengono forniti direttamente da là, ed 
un'altra in cui li abbiamo salvati in una tabella dentro al database, e 
vengono forniti direttamente da là (poi in realtà vivono in cache 
sull'application server, tranne la prima richiesta).
-- 
ale
http://ale.riolo.co.uk
 

 cache sull'application server, tranne la prima richiesta).
uhm ... in una tabella mi sembra veramente scomodo ... inoltre, per le 
varie applicazioni, dovrei comunque copiarle, quindi perderebbe il mio 
scopo.
A me piacerebbe arrivare a creare un progetto (web? libreria?) ad-hoc con 
tutti questi file, creare una dll con tutti i file, e poi includerla in 
ogni solution ... se modifico un js, ricompilo il progetto, apro i vari 
siti, semplicemente li ricompilo e li ho aggiornati con l'ultima versione.
Grazie!

 siti, semplicemente li ricompilo e li ho aggiornati con l'ultima versione.
per quanto riguarda i js potrebbe essere un'idea fare un progetto che 
referenzia un engine javascript, tipo Javascript.Net 
(
http://javascriptdotnet.codeplex.com/
) o Spidermonkey-dotnet 
(
http://spidermonkeydotnet.codeplex.com
) o Jint 
(
http://jint.codeplex.com/
) e manda semplicemente in run i tuoi script 
(che includerai nel progetto) rendendo disponibile una semplice api C# 
per le funzioni che ti servono. Che ne pensi?

 scopo.
In questo caso io sono la persona che ha fatto la richiesta per la soluzione 
in questione, anche se poi non l'ho implementata io :)
La ragione è che usiamo un framework che genera una quantità di JavaScript, 
che normalmente vivono in cache. Inizialmente tenevamo questi JavaScript 
generati su disco, e nelle workstation degli sviluppatori non c'è problema, 
ma ovviamente nei sistemi dei clienti è un altro discorso, per cui li 
generavamo tutti durante la build in release, e li inserivamo 
nell'installer. Quest'ultimo passo, dato che gestisco io l'installer, e data 
la velocità con cui cambiano questi file, mi sottraeva un numero sempre 
maggiore di ore di lavoro, e comunque rallentava il processo di creazione di 
build testabili, da cui la decisione di crearli on the fly alla prima 
richiesta, e serializzarli su tabella.
-- 
ale
http://ale.riolo.co.uk
 

 per le funzioni che ti servono. Che ne pensi?
Interessanti questi progetti. Ma ho diverse decine di .js, creati in 
decenni, alcuni con migliaia di righe ... dovrei scriverli tutti dentro 
una stringa, da quel che vedo :-/
Resta poi il problema dei files collegati (css, ma anche immagini).
Secondo me servirebbe un qualcosa di più generico.

 Secondo me servirebbe un qualcosa di più generico.
Risolto (finalmente, dopo anni!)
Questo spunto è ottimo:
http://weblogs.asp.net/dwahlin/archive/2007/04/29/creating-custom-asp-net-
server-controls-with-embedded-javascript.aspx
Soliti problemi (es. obbligo di avere form server-side, scrittura in body 
anziché head etc), ma risolvibili (scrivendo "a mano" il render).