我正在将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 没有什么不寻常的,只是一些元数据和测试脚本的存根。
答案 0 :(得分:2)
我有同样的问题,在我的情况下文件名与import语句不匹配有一个大写字母ex:原始文件名是accountStatus.model.ts
部署语句出错但在构建中工作正常:
import { AccountStatus } from './AccountStatus.model';
更改文件名声明:
import { AccountStatus } from './accountStatus.model';