除非使用特定的大写字母,否则无法导入 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 中没有这样的东西。确保您的代码中没有其他错误。
也许(虽然这是一个真正的边缘案例),检查你的 webpack 配置是否有任何超级疯狂的东西,或者你玩过 tsconfig 的 paths
属性,但大多数这可能是您代码中的一个更简单的错误。
也许您也需要重新启动构建监视/开发服务器。
更新
如果这是一个外部依赖项(NPM 模块),请尝试删除您的 node_modules
文件夹并再次 运行 npm install
。
如评论中所述,OP 就是这种情况。
我在文件 '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 中没有这样的东西。确保您的代码中没有其他错误。
也许(虽然这是一个真正的边缘案例),检查你的 webpack 配置是否有任何超级疯狂的东西,或者你玩过 tsconfig 的 paths
属性,但大多数这可能是您代码中的一个更简单的错误。
也许您也需要重新启动构建监视/开发服务器。
更新
如果这是一个外部依赖项(NPM 模块),请尝试删除您的 node_modules
文件夹并再次 运行 npm install
。
如评论中所述,OP 就是这种情况。