【问题标题】:how can I access node.js process.env.ENV_VARIABLE in scala.js?如何在 scala.js 中访问 node.js process.env.ENV_VARIABLE?
【发布时间】:2018-05-30 03:40:02
【问题描述】:

如何在 node 中运行的 scala.js 程序中在运行时获取系统环境变量?

在节点中我使用process.env.ENV_VARIABLE,在JVM scala中使用sys.env.getOrElse(...)

我找到了编译时配置库,但不清楚如何将密钥和 URL 等部署时间设置注入预编译的 _fastopt.js 单文件部署。

【问题讨论】:

    标签: scala.js


    【解决方案1】:

    您可以通过 Scala.js 的互操作性功能轻松访问process.env.ENV_VARIABLE

    以动态类型的方式:

    import scala.scalajs.js
    
    val foo = js.Dynamic.global.process.env.ENV_VARIABLE.asInstanceOf[js.UndefOr[String]]
    

    或者使用https://github.com/scalajs-io/nodejs的静态类型:

    import io.scalajs.nodejs.global
    
    val foo = global.process.env.get("ENV_VARIABLE")
    

    【讨论】:

    • 这是开箱即用的吗?我收到一个错误:cannot read property env of undefined
    • 它应该在默认的 Node.js 环境中开箱即用。但是如果修改jsEnv或者在浏览器中运行,就不会有process这个变量了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-29
    • 1970-01-01
    • 2018-10-01
    • 1970-01-01
    • 2021-01-22
    • 2021-02-17
    • 1970-01-01
    相关资源
    最近更新 更多