使用Angular2 Typescript和ServerJS访问.ENV属性

时间:2016-07-04 17:48:55

标签: swift node.js typescript angular npm

我一直在浏览Angular2快速入门和教程,现在我正试图设置从实时REST Api中提取数据。我需要通过Api调用传递身份验证参数,我正在阅读的所有内容都说我应该将这些参数放入ENV变量中。

我无法确定我应该如何做到这一点。我在我的本地服务器上创建了一个.env文件,我已经使用NPM将dotenv安装到我的项目中,但我找不到如何使用dotenv的例子似乎都不符合我用过的TypeScript导入语法到。

这是我的主要内容:

 list=['ID','Account','type','msg'] 

 final=a[[col for col in list if col in b.columns]]

示例app.component.ts:

import { }              from 'dotenv/config';
import { bootstrap }    from '@angular/platform-browser-dynamic';
import { AppComponent } from './app.component';

bootstrap(AppComponent);

任何帮助将不胜感激。我已经离开编码循环一段时间了,这对我来说有点新鲜。

奖金问题,当我转到实时服务器或更改时,我还会有.env文件吗?

2 个答案:

答案 0 :(得分:2)

我认为你需要初始化dotenv配置方法:

dotenv.config();

我通常使用如下:

import * as dotenv from 'dotenv';

//Later in your code
dotenv.config();

然后你可以使用你的环境变量。

答案 1 :(得分:0)

我遇到了同样的问题。无法找到合适的解决方案,所以我做了类似的事情:

import { Component } from '@angular/core';

@Component({
  selector: 'my-app',
  template: `
    <h1>Up and running!</h1>
    <p>Do not show this at home: {{twitterConsumerKey}}</p>
  `,
  styleUrls: ['style.css']
})

export class AppComponent { 

  public twitterConsumerKey:string;

  ngOnInit() {
    this.twitterConsumerKey = process.env.TWITTER_CONSUMER_KEY;
  }
}