Веб-проект Visual Studio MVC 5 - включить в проект папку «node_modules»? - PullRequest
0 голосов
/ 15 мая 2018

Я использую NPM для поддержки интерфейсных зависимостей в моем веб-проекте MVC 5.Одним из ключевых применений, которые я использую для NPM, является получение определений Typescript для вещей.

Проект организован следующим образом:

MySolution
|
|-- MySolution.Web
    |
    |-- Controllers
    |-- node_modules
    |-- Views
    |-- (etc...)

Что я хочу знать, так это то, должен ли я включать«node_modules» в проект, и если мне нужно включить «node_modules» в управление исходным кодом.

Причина, по которой я спрашиваю, заключается в том, что все выглядит довольным тем, что он исключен (даже агент сборки, который выполняет «NPM»restore "перед компиляцией).

Однако NCrunch жалуется, что не может найти никаких ссылок на различные типы, на которые ссылаются файлы TypeScript моего проекта.

Например, Admin.ts ссылается на"/node_modules/@types/knockout/index.d.ts"

Я думаю, что добавление" node_modules "в веб-проект это исправит, но я не уверен, правильно ли это.

1 Ответ

0 голосов
/ 15 мая 2018

нет, вы не должны включать это в систему контроля версий или в проект.

Предположим, что вы делаете полный клон, с нуля, первым делом вы должны установить npm , который восстановит все пакеты и в любом случае заполнит эту папку. Это та же самая причина, по которой вы не добавляете такие вещи, как пакеты NuGet.

эта папка может легко стать очень большой и задержать ваш конвейер CI / CD. Как вы сами сказали, запуск npm install - это то, что в любом случае можно сделать автоматически. Если вы скачаете, например, файл git ignore для Visual Studio, он будет поставляться с такими вещами, которые игнорируются по умолчанию и по уважительной причине.

Что касается ваших машинописных файлов, то с ними тоже должно быть все в порядке. В любом случае вы сначала выполните восстановление, прежде чем выполнять какую-либо работу, и вы можете использовать что-то вроде кода Visual Studio для работы с вашими интерфейсными файлами, и не имеет значения, являются ли модули узлов частью вашего решения.

...