我使用 NestJS 框架来构建一个 rest api,我在获取环境变量时遇到了问题。
我有一个带有路径字符串的变量“SMB_SHARE”的 .env,当我将此变量传递给 smb2 libray 的类构造函数时,这会引发错误,环境变量提供的字符串无效。
环境变量是这样的:
SMB_SHARE=\\10.00.0.000\some_path
当我在代码中使用控制台登录时,变量是好的,是一个字符串并且具有正确的字符串值。但是当我将它传递给构造函数时,它会抛出错误。
我将字符串直接传递给构造函数,它工作正常,构造函数的其他环境变量设置正确(如用户名和密码)。只有 SMB_SHARE 变量会引发错误。
我不知道这里有什么问题。有人可以帮我解决这个问题吗?
我展示了一些例子:
constructor(private config: ConfigService) {
console.log('VAR', config.get<string>('SMB_SHARE'));
//This show the correctly string variable value
const share = config.get<string>('SMB_SHARE');
this.sambaClient = new SMB2({
share: '\\\\10.00.0.000\\some_path', //WORK
//share: share, FAIL
//share: config.get<string>('SMB_SHARE'), FAIL
//share: process.env.SMB_SHARE, FAIL
domain: '',
username: config.get<string>('SMB_USERNAME'),
password: config.get<string>('SMB_PASSWORD'),
debug: true,
autoCloseTimeout: 0,
})
}
.env 文件是这样的:
SMB_SHARE=\\\\10.00.0.000\\some_path
SMB_USERNAME=user
SMB_PASSWORD=secret