Фон
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 будут читать это очень хорошо: