Управление версиями модулей узлов Angular для публикации - PullRequest
0 голосов
/ 30 августа 2018

Пытаясь опубликовать компоненты Angular на npm, я не совсем уверен, какие папки и файлы должны быть включены в процесс управления версиями, а какие - в .gitignore.

Я использую Angular CLI для публикации. Основной код находится в ./projects/nls-ngx-module/src/**, и для переноса я использую встроенную угловую команду ng build --prod из папки проекта. Внутри dist/ появляется новая папка с названием проекта. Хорошо.

После переноса в папку проекта добавляется еще одна папка node_modules, которая по умолчанию не игнорируется. Он содержит только папку .cache с подпапками и файлами. И это меня раздражает, потому что в других типовых проектах они не появляются, но они также не игнорировались вручную в .gitignore.

Структура папок

├── ...
├── projects
│   └── nls-ngx-module
│       ├── karma.conf.js
│       ├── ng-package.json
│       ├── ng-package.prod.json
│       ├── package.json
│       ├── src
│       │   ├── lib
│       │   │   ├── ...
│       │   ├── public_api.ts
│       │   └── test.ts
│       ├── tsconfig.lib.json
│       ├── tsconfig.spec.json
│       └── tslint.json
├── src
│   ├── app
│   │   ├── ...
│   ├── assets
│   ├── browserslist
│   ├── environments
│   │   ├── ...
│   ├── ...
├── ...

.gitignore

# See http://help.github.com/ignore-files/ for more about ignoring files.

# compiled output
/dist
/tmp
/out-tsc

# dependencies
/node_modules

# IDEs and editors
/.idea
.project
.classpath
.c9/
*.launch
.settings/
*.sublime-workspace

# IDE - VSCode
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json

# misc
/.sass-cache
/connect.lock
/coverage
/libpeerconnection.log
npm-debug.log
yarn-error.log
testem.log
/typings
package-lock.json

# System Files
.DS_Store
Thumbs.db

Примеры взяты из:

1 Ответ

0 голосов
/ 30 августа 2018

Нет, изменение файла .gitignore не требуется. Команда ng build была выполнена в неправильном каталоге.

Не запускайте ng build --prod или любую подобную ng build команду вне корневого каталога приложения. Папка node_modules создается только внутри каталога проектов, когда вы запускаете команду ng build внутри подпапок директории projects .

Примечание
Команда ng build распределяет все необходимые зависимости, перечисленные в package.json. Поэтому для правильной сборки встроенной библиотеки должна быть папка node_modules .

...