【问题标题】:How to run project with arguments?如何使用参数运行项目?
【发布时间】:2020-10-20 23:52:05
【问题描述】:

我使用 Typescript 和 NestJS 创建了一个项目,但我必须使用来自 process.env 的这个参数在 vscode(来自 launch.json 或终端或其他东西)中运行这个项目:

"MYSQL_HOST":"x", 
"MYSQL_PORT":"x", 
"MYSQL_USERNAME":"x", 
"MYSQL_PASSWORD":"x", 
"MYSQL_DATABASE":"x", 
"NODE_ENV":"x"

谁能告诉我我可以通过哪种方式做到这一点?

【问题讨论】:

    标签: javascript typescript visual-studio-code nestjs


    【解决方案1】:

    将环境变量添加到.env 并使用 EasyconfigModule 导入

    import  { Module }  from  '@nestjs/common';
    import { EasyconfigModule } from  'nestjs-easyconfig';
    
    @Module({
     imports:  [EasyconfigModule.register({path: './config/.env'})],
    })
    export  class  AppModule  {}
    
    

    【讨论】:

    【解决方案2】:

    如果你想从终端/cmd 运行 NestJS,你可以使用 npm 包 cross-env 设置环境变量,然后像这样构造你的命令:

    cross-env MYSQL_HOST=localhost MYSQL_PORT=1234 [and so on] nest start
    

    cross-env 包并不是绝对必要的,它只是让你的命令更容易在不同的环境中工作。这样,您就不必为 Windows 和 Linux 创建单独的命令。

    或者,您可以通过在env-property 中设置变量来使用launch.json:

    "configurations": [
        {
            ...
            "env": {
                "MYSQL_HOST": "localhost",
                "MYSQL_PORT": 1234
            }
        }
    ]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-04
      • 1970-01-01
      • 1970-01-01
      • 2018-03-28
      • 2011-10-27
      • 2018-08-25
      • 1970-01-01
      • 2019-09-08
      相关资源
      最近更新 更多