在尝试在npm上发布Angular组件时,我不确定在版本控制过程中应包含哪些文件夹和文件,而在.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
示例摘自:
答案 0 :(得分:1)
否,无需修改.gitignore
文件。 ng build
命令在错误的目录中执行。
请勿在应用程序的根目录外部运行ng build --prod
或任何类似的ng build
命令。 node_modules 文件夹仅在您在 projects 目录的子文件夹中运行ng build
命令时在projects目录中创建。
注意
ng build
命令分发package.json
内部列出的所有必要依赖项。因此,必须有一个 node_modules 文件夹才能正确捆绑构建的库。