J'essaie actuellement de migrer un ancien projet ASP.NET WebSite vers Visual Studio 2015. Je souhaite utiliser NPM/Gulp pour compiler automatiquement les fichiers LESS en CSS (cette tâche a été effectuée par WebEssentials dans VS 2013). J'ai ajouté un fichier package.json
au projet pour charger les composants requis. Cela crée un dossier node_modules
dans la racine du projet WebSite, et c'est où mon problème commence:Modifier l'emplacement du dossier node_modules
Comme les projets WebSite n'ont pas un fichier de projet, tous les fichiers (et sous-répertoires) trouvés dans le dossier racine du projet , font automatiquement partie du projet. En raison de la structure de répertoire profondément imbriquée à l'intérieur node_modules
, cela conduit à des erreurs en raison de noms de chemin trop longs.
Une solution de contournement consiste à définir l'attribut hidden
sur le dossier node_modules
(mais cela doit être fait manuellement par chaque développeur).
Existe-t-il un moyen de dire à NPM de placer les modules de noeud dans un autre répertoire, par ex. un niveau au-dessus du projet (..\node_modules
) où se trouve le fichier de solution?
Ou est-il possible de définir l'attribut caché sur un dossier à partir d'une tâche-gulp (qui s'exécute lorsque le projet est chargé)?
Vous pouvez aborder le problème dans l'autre sens. Créez votre site Web racine dans un emplacement différent, et utilisez gulp pour compiler les sources et les écrire dans votre dossier de site Web (ie 'public') puis exécutez npm/gulp depuis votre répertoire de solution, et laissez votre point d'entrée de votre site Web pointer vers le dossier public. – Rik
@Rik: Je ne suis pas sûr que ce soit possible avec un projet ASP.NET * WebSite *, mais j'y penserai. Aussi, si possible, je préfère ne pas faire trop de changements à ce vieux projet. – M4N
Mais vous ajoutez les fichiers npm quelque part. Choisissez n'importe quel emplacement qui ne se trouve pas dans votre dossier de site Web et utilisez 'gulp.src(). pipe (dostuff) .gulp.dest (chemin/vers/site/répertoire)' à partir de là. Avec gulp.dest() vous pouvez copier les fichiers à n'importe quel endroit. N'a pas besoin de changements structurels. – Rik