【问题标题】:Accessing process.env in TypeScript. Dot notation doesn't work在 TypeScript 中访问 process.env。点符号不起作用
【发布时间】:2017-11-20 01:57:49
【问题描述】:

我在脚本中设置:"start": "NODE_ENV=development nodemon dist/Server.js" 然后尝试在代码中读取NODE_ENV,点和括号符号都返回undefined

我有下一个配置: “@types/节点”:“^8.0.53” “打字稿”:“^2.6.1” 本地安装节点 8.9.1

在我 console.log 之后似乎 process.env 甚至没有 NODE_ENV。 console.log(process.env.NODE_ENV); console.log(process.env["NODE_ENV"]); 建议 here 有什么问题吗?

【问题讨论】:

    标签: typescript typescript-typings


    【解决方案1】:

    您没有发布如何在代码中访问 NODE_ENV 变量,但这对我来说很好:

    package.json:

      "scripts": {
        "test": "NODE_ENV=development nodemon test.js"
      }
    

    test.js

    console.log(process.env.NODE_ENV)
    

    运行npm test的结果:

    [nodemon] 1.12.1
    [nodemon] to restart at any time, enter `rs`
    [nodemon] watching: *.*
    [nodemon] starting `node test.js`
    development
    [nodemon] clean exit - waiting for changes before restart
    

    (我使用的是节点 v7.10.1,但我希望这适用于任何版本)

    【讨论】:

    • 我知道它应该对你有用。我尝试了所有 process.env.NODE_ENV,process.env [“NODE_ENV”]。据我所知,如果未指定 NODE_ENV,它将默认使用development,请尝试设置测试而不是开发,看看它是否适合您。
    • 您的示例工作正常,在我的代码中干扰设置 env。
    猜你喜欢
    • 1970-01-01
    • 2017-12-24
    • 1970-01-01
    • 2013-07-14
    • 1970-01-01
    • 2012-12-29
    • 1970-01-01
    • 2021-04-04
    • 1970-01-01
    相关资源
    最近更新 更多