即使在阅读了文档之后,我也不明白我应该如何使用这个软件包。
以下是我的尝试:
import {Component, OnInit} from '@angular/core';
declare const require: any; // Typescript compiler will complain without this
declare const process: any; // Typescript compiler will complain without this
require('dotenv').config();
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit {
constructor() {
}
ngOnInit() {
// This should display the content of my .env file right?
console.log(process.env);
}
}
我在项目的根目录下创建了一个包含3行的.env
文件。
然后,我使用ng serve
命令运行我的项目。
我希望控制台用我的3个键向我显示一个对象,但我得到一个空对象。发生了什么?
感谢您的帮助。
答案 0 :(得分:2)
由于dotenv在文件系统上工作,并且通常用于在节点环境中运行的任务,因此由于您的角度应用程序正在浏览器中运行,因此它无法在运行时解析必要的.env文件。
答案 1 :(得分:-1)
以下代码:
require('dotenv').config();
对angular typescript文件(.ts)无效。
您必须创建一个文件&encurnement.ts'在你的应用程序树(在你的情况下你的项目的根)像这样:
export const environment = {
foo: true,
bar: false
};
并在组件中要求此文件:
import { environment } from '../path/to/environment';
您现在可以通过以下方式使用您的环境:
environment.foo
//or
environment.bar