为什么链接到原理图与安装原理图时会有不同的行为?

Why is there different behavior when linking to a schematic vs installing one?

我有一个 Angular 原理图,当我安装它时与我 link 在我的硬盘驱动器上时它的工作方式不同。

重现步骤:

  1. 使用 Angular CLI 创建一个新的 Angular 应用程序:ng new --routing --style css
  2. 添加我的示意图和运行它:
npm install @oktadev/schematic
ng g @oktadev/schematic:add-auth

这只更新了几个文件,当它应该创建和更新更多文件时。

UPDATE package.json (1380 bytes)
UPDATE src/app/home/home.component.css (0 bytes)
UPDATE src/app/home/home.component.html (180 bytes)

但是,如果我在我的项目中 运行 npm link @oktadev/schematics,然后是 ng g @oktadev/schematics:add-auth,它就可以工作。

UPDATE package.json (1380 bytes)
UPDATE src/app/app-routing.module.ts (547 bytes)
UPDATE src/app/app.component.spec.ts (1347 bytes)
UPDATE src/app/app.component.ts (600 bytes)
UPDATE src/app/app.module.ts (917 bytes)
UPDATE src/app/home/home.component.css (0 bytes)
UPDATE src/app/home/home.component.html (180 bytes)
UPDATE src/app/home/home.component.spec.ts (964 bytes)
UPDATE src/app/home/home.component.ts (631 bytes)
UPDATE src/app/shared/okta/auth.interceptor.ts (1066 bytes) 

如果您想尝试重现该问题,可以在 https://github.com/oktadeveloper/schematics 找到该项目。 npmjs.com 上发布的代码与 master 分支上的当前代码相同。

为什么我安装它时的行为与 link 安装它时的行为不同?

.npmignore 正在忽略您的 .ts 文件。

通过 you 回答。