[英]How to import a variable from another file in nestjs?
我嘗試從另一個文件導入變量,但沒有成功。 在我的第一個文件中,我有:
import { Injectable } from '@nestjs/common';
@Injectable()
export class Hello {
}
var varhello = "hi";
在另一個我想添加 varHello 的地方,我有:
import { Injectable } from '@nestjs/common';
import * as hello from "./Hello";
@Injectable()
export class AppService {
getHello(): any {
console.log(hello.Hello)
}
}
至少我的 console.log 返回了一些東西:[class Hello],但我希望它返回文本“hi”。 有誰知道如何解決我的問題?
最佳實踐是將 greeting 變量保持在 hello 類中私有,並具有返回/修改可由其他類使用的屬性的公共方法,然后在任何需要它的地方注入 Hello 服務並調用該方法。
import { Injectable } from '@nestjs/common';
@Injectable()
export class Hello {
private _greeting: string = 'Hi';
get greeting(): string {
return this._greeting;
}
}
然后在您的服務中:
import { Inject, Injectable } from '@nestjs/common';
import { Hello } from './Hello';
@Injectable()
export class AppService {
@Inject()
protected hello: Hello;
getHello(): void {
console.log(this.hello.greeting);
}
}
或者,如果你願意,你可以像這樣導出一個 const 變量
// Hello.ts file
export const hello = 'Hi';
在您的服務中,您只需導入它
import { Injectable } from '@nestjs/common';
import { hello } from './Hello';
@Injectable()
export class AppService {
getHello(): void {
console.log(hello);
}
}
但是這樣它就只是一個常量,你將無法覆蓋它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.