Attualmente sto provando a migrare un vecchio progetto WebSite ASP.NET in Visual Studio 2015. Mi piacerebbe utilizzare NPM/Gulp per compilare automaticamente i file LESS su CSS (questa attività è stata eseguita da WebEssentials in VS 2013).Modifica la posizione della cartella node_modules
Ho aggiunto un file package.json
al progetto per caricare i componenti richiesti. Questo crea una cartella node_modules
nella radice del progetto WebSite, ed è qui che inizia il mio problema:
Poiché i progetti WebSite non hanno un file di progetto, tutti i file (e le sottodirectory) trovati nella cartella principale del progetto , sono automaticamente parte del progetto. A causa della struttura di directory profondamente annidata all'interno di node_modules
, ciò comporta errori a causa di nomi di percorso troppo lunghi.
Una soluzione semplice è impostare l'attributo hidden
nella cartella node_modules
(ma questa operazione deve essere eseguita manualmente da ogni sviluppatore).
C'è un modo per dire a NPM di mettere i moduli del nodo in un'altra directory, ad es. un livello sopra il progetto (..\node_modules
) dove si trova il file della soluzione?
Oppure è possibile impostare l'attributo nascosto su una cartella da un'attività gulp (che viene eseguita quando viene caricato il progetto)?
È possibile affrontare il problema il contrario. Crea il tuo sito web root in una posizione diversa e usa gulp per compilare le fonti e scriverle nella cartella del tuo sito web (es. 'Public') quindi eseguire npm/gulp dalla directory della tua soluzione e lasciare che il punto di ingresso del tuo sito web punti al cartella 'public'. – Rik
@Rik: Non sono sicuro che sia possibile con un progetto ASP.NET * WebSite *, ma ci penserò su. Inoltre, se possibile, preferirei non apportare troppe modifiche a quel vecchio progetto. – M4N
Ma stai aggiungendo i file npm da qualche parte. seleziona qualsiasi posizione che non si trova nella cartella del tuo sito web e usa 'gulp.src(). pipe (dostuff) .gulp.dest (percorso/a/website/dir)' da lì. Con gulp.dest() è possibile copiare i file in qualsiasi posizione. Non ha bisogno di modifiche strutturali. – Rik