Javascript 用于发布的角度节点模块的版本控制

Javascript 用于发布的角度节点模块的版本控制,javascript,node.js,angular,bash,gitignore,Javascript,Node.js,Angular,Bash,Gitignore,在尝试在npm上发布角度组件时,我不太确定哪些文件夹和文件应该包含在版本控制过程中,哪些应该包含在.gitignore中 我使用Angular CLI进行发布。主代码位于/projects/nls ngx module/src/**中,对于传输,我使用项目文件夹中的本机angular命令ng build--prod。在dist/内部,一个带有项目标题的新文件夹到达。好的 传输后,另一个节点\u modules文件夹将添加到项目文件夹中,默认情况下不会忽略该文件夹。它只包含一个带有子文件夹和文件的

在尝试在npm上发布角度组件时,我不太确定哪些文件夹和文件应该包含在版本控制过程中,哪些应该包含在
.gitignore

我使用Angular CLI进行发布。主代码位于
/projects/nls ngx module/src/**
中,对于传输,我使用项目文件夹中的本机angular命令
ng build--prod
。在
dist/
内部,一个带有项目标题的新文件夹到达。好的

传输后,另一个
节点\u 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
│   │   ├── ...
│   ├── ...
├── ...
# 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
.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
│   │   ├── ...
│   ├── ...
├── ...
# 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
举例如下:


否,无需修改
.gitignore
文件。在错误的目录中执行了
ng build
命令

不要在应用程序的根目录之外运行
ng build--prod
或任何类似的
ng build
命令。只有在项目目录的子文件夹中运行
ng build
命令时,才会在项目目录中创建node_modules文件夹

注意

ng build
命令分发
package.json
中列出的所有必要依赖项。因此,必须有一个node_modules文件夹才能正确绑定生成的库。

这个答案的一部分是误导性的。有
ng
命令可以在项目目录的上下文之外运行
ng new
ng help
ng get/set
--global
选项、
ng version
ng doc
ng completion
都在应用程序根目录之外有效。@R.Richards你说得对。我指的是任何带有其他参数的
ng build
命令。我已经修正了答案。谢谢更新!清楚这些东西总是好的。