代码之家  ›  专栏  ›  技术社区  ›  Dave Sanders

如何访问组件中的vuejs网页包配置变量?

  •  2
  • Dave Sanders  · 技术社区  · 8 年前

    module.exports = merge(prodEnv, {
      NODE_ENV: '"development"',
      API: {
        ROOT: "'http://blah.blah.blah'"
      },
      CONNECTORS: {
        SPOTIFY: {
          CLIENT_ID: "'blah'",
          SCOPES: "'blah'",
          REDIRECT_URI: "'blah'"
        }
      }
    })
    

    注意,其中一些并不是特定的环境变量,但我想将这些类型的配置变量放在一个集中的位置。

    在我的主要。js,我可以通过 process.env :

    Vue.http.options.root = process.env.API.ROOT
    

    但在较低级别的组件中,“过程”并不存在。

    我知道它不应该,因为它不是全球性的定义,但我不知道如何进入这个过程。组件内的环境对象。我知道我可以让它全球化,但这“感觉不对”

    两个问题:

    1. 是否有其他Vue导入/对象需要处理。环境?

    2. 有没有更好的方法来存储这些可能依赖于环境的集中式值?我见过ruby config gem这样的东西,它在默认配置的基础上很好地分层了特定于环境的配置。

    我 做 尝试npm配置gem,但由于某些原因,它丢失了 其他所需的NPM,似乎面向节点。js和it 感觉我没有使用什么vue cli网页包是做错了什么 提供。

    1 回复  |  直到 8 年前
        1
  •  3
  •   user2080225 user2080225    8 年前

    通常,让组件能够查看其他组件的数据或在任何地方形成数据的公认“行业标准”方法是使用VueX。这与React中的Redux类似。一开始看起来有点复杂,但实际上很简单,VueX让您不必担心任何给定组件如何查看任何给定数据,同时解决了许多其他问题。试试看。

    当然,另一种方法是在你的应用程序中有一个模块,该模块实现了一种“单例模式”,这样任何代码都可以直接转储数据并将数据导出。

    推荐文章