Фон
OneDrive не позволяет исключать каталоги по имени, и это скоро не изменится :
[Представительский ответ OneDrive на запрос UserVoice:] Не сейчас
Некоторые люди рекомендуют снимать отметки с каталогов, которые вы не хотите синхронизировать в настройках OneDrive, но это стало невозможно с файлами OneDrive по требованию .
Решение
Тем не менее, вы можете решить эту проблему путем настройки вещей на стороне Node.js. Сделайте node_modules
каталог символической ссылкой на файл в другом месте:
# Open any place outside OneDrive cd D:\node_dependencies # Make a symlink target. After linking, node_modules for your project # will be installed here mkdir node_modules_for_my_project # Open the project directory cd <the project directory> # Make a *file* link from node_modules to the newly created directory. # You will need to delete existing node_modules directory if it exists cmd /C "mklink node_modules D:\node_dependencies\node_modules_for_my_project"
Важным моментом здесь является то, что вы создаете символьную ссылку на файл, а не директорию . OneDrive не распознает и не синхронизирует эту символическую ссылку, тогда как Node.js будет работать с ней так, как задумано:
Протестировано с OneDrive v17.3.7101.1018 и файлами OneDrive по требованию.
Недостатки
Это не универсальное решение. Недостатком этого является то, что Explorer, Powershell и другие инструменты не будут распознаваться node_modules
как каталог:
Тем не менее, редакторы кода на основе Node.js будут читать это очень хорошо: