除非使用特定的大写字母,否则无法导入 ng2 服务

Can't import ng2 service unless use specific capitalization

我在文件 'myapi.service.ts' 中创建了一个服务,其中包含:

export class MyAPIService {

在我的组件中,我按如下方式导入服务:

import { MyAPIService } from '../myapi.service';

但是每次编译我都会得到这个错误:

Module '"/myapi.service"' has no exported member 'MyAPIService'.

问题似乎是 capitalizatio.n 如果我导入 "MyapiService" 而不是 "MyAPIService" 那么它可以正常编译。但为什么? ng2 require/force 一定要大写吗?它不应该使用我在创建 class 时使用的大写吗?

Angular 或 TypeScript 中没有这样的东西。确保您的代码中没有其他错误。

Here's a working example

也许(虽然这是一个真正的边缘案例),检查你的 webpack 配置是否有任何超级疯狂的东西,或者你玩过 tsconfig 的 paths 属性,但大多数这可能是您代码中的一个更简单的错误。

也许您也需要重新启动构建监视/开发服务器。

更新

如果这是一个外部依赖项(NPM 模块),请尝试删除您的 node_modules 文件夹并再次 运行 npm install

如评论中所述,OP 就是这种情况。