Angular节点模块的版本发布

时间:2018-08-30 14:04:49

标签: javascript node.js angular bash gitignore

在尝试在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

示例摘自:

1 个答案:

答案 0 :(得分:1)

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

请勿在应用程序的根目录外部运行ng build --prod或任何类似的ng build命令。 node_modules 文件夹仅在您在 projects 目录的子文件夹中运行ng build命令时在projects目录中创建。

注意
ng build命令分发package.json内部列出的所有必要依赖项。因此,必须有一个 node_modules 文件夹才能正确捆绑构建的库。