Angular 5升级 - 模块构建失败:customPackage不是编译输出的一部分

时间:2017-12-15 05:59:05

标签: angular webpack angular-cli

我正在将Angular 4.4项目更新为Angular 5.我已遵循Angular Update Guide Web应用程序说明,​​但遇到了一个我无法解决的错误。

多次输出以下错误,仅针对我个人创建的npm包中的不同模块导入(全部用TypeScript编写)。

Module build failed: Error: /Users/username/Developer/parent-project/node_modules/custom-package-X/src/app/app-routing.module.ts is not part of the compilation output.

我导入了三个自定义库,并为三者中的每一个输出类似的错误。这些错误仅发生在我的自定义包中;所以它必须与我设置它们的方式有关。

我觉得这是因为我的npm包暴露了 TypeScript(.ts)文件,而不是已编译的 Javascript(.js)文件。

有没有人有类似的问题,或有任何建议?

依赖文件结构

/Users/username/Developer/custom-package-X
├── node_modules
|  ├── ...
├── package-lock.json
├── package.json
├── src
|  ├── auth.service.ts
|  ├── authenticationtoken.ts
|  ├── authorizationtoken.ts
|  ├── resource.service.ts
|  ├── authentication-guard.service.ts
|  ├── authorization-guard.service.ts
|  └── index.ts
└── tsconfig.json

index.ts

export { AuthService } from './auth.service';
export { ResourceService } from './resource.service';
export { AuthenticationToken } from './authenticationtoken';
export { AuthorizationToken } from './authorizationtoken';
export { AuthenticationGuard } from './authentication-guard.service';
export { AuthorizationGuard } from './authorization-guard.service';

tsconfig.json

{
  "compileOnSave": false,
  "compilerOptions": {
    "baseUrl": "src",
    "lib": ["es2016", "DOM"],
    "sourceMap": true,
    "declaration": false,
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es5"
  }
}

的package.json 没有什么不寻常的,只是一些元数据和测试脚本的存根。

1 个答案:

答案 0 :(得分:2)

我有同样的问题,在我的情况下文件名与import语句不匹配有一个大写字母ex:原始文件名是accountStatus.model.ts

部署语句出错但在构建中工作正常:

import { AccountStatus } from './AccountStatus.model';

更改文件名声明:

import { AccountStatus } from './accountStatus.model';