小编Dar*_*eck的帖子

angular-cli:使用环境变量的条件导入

有没有办法根据angular-cli@1.0.0-beta.16中的环境变量有条件地更改导入?我试图以一种不需要在客户端代码中导入服务的代码更改的方式来实现它,但是在需要时我可以指定一个构建标志来交换模拟服务.

我试过在这篇文章中使用了一种模式:

文件结构:

MyService
    MyServiceMock.ts
    MyServiceReal.ts
    index.ts
Run Code Online (Sandbox Code Playgroud)

在index.ts中,您可以拥有以下内容:

import { environment} from '../environments/environment';

export const MyService = environment.mock ?
    require('./MyServiceMock').MyServiceMock:
    require('./MyServiceReal').MyServiceReal;
Run Code Online (Sandbox Code Playgroud)

在您的客户端代码中,导入MyService:

import MyService from './myservice/index';
Run Code Online (Sandbox Code Playgroud)

页面加载,我可以看到在单步执行代码时注入依赖项,但是编译错误(我认为是TypeScript错误)沿着这一行Cannot find name 'MyService'.

typescript webpack angular-cli angular

9
推荐指数
1
解决办法
7279
查看次数

标签 统计

angular ×1

angular-cli ×1

typescript ×1

webpack ×1