【问题标题】:How to use .env variables in web.config?如何在 web.config 中使用 .env 变量?
【发布时间】:2020-12-17 00:40:37
【问题描述】:

我正在使用 Vue.js,在 public 文件夹中有一个 index.html 文件。

    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <link rel="icon" href="<%= BASE_URL %>favicon.ico">

&lt;%= BASE_URL %&gt; 正确解析为公共路径。我尝试将&lt;%= BASE_URL %&gt; 放入web.config 文件中,该文件也在public 文件夹内,但它无法识别。

    <conditions>
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
        <add input="{URL}" pattern="(.*<%= BASE_URL %>/api)" negate="true" />
    </conditions>

这是用于 IIS 上的 url 重写。我有不同的构建和不同的 url,这就是为什么我希望它自动替换它。

【问题讨论】:

  • 我认为这可能是不可能的。如果是.net项目,我们可以使用设置环境变量,但是无法识别Vue项目中的环境变量。
  • “这个 正确解析到公共路径”,它发生在浏览器内部,而 web.config 严格来说是服务器端的一个项目。
  • @LexLi 不,这发生在“npm build”上
  • npm build 调用的 Vue 工具默认只操作浏览器端文件,因为 Vue 是浏览器端框架。不确定您是否可以重新配置工具来操作web.config,但您可以尝试。

标签: vue.js npm iis webpack


【解决方案1】:

我看到的问题是 env 文件用于客户端,而 web.config 用于服务器。我认为不可能做你想做的事。

警告

不要在您的应用中存储任何秘密(例如私有 API 密钥)!

环境变量嵌入到构建中,这意味着任何人都可以 通过检查您应用的文件来查看它们。

Modes and Environment Variables

看看这个question的答案,他们没有说如何将基本 URL 放在 web.config 文件中,而是如何在 IIS 中获取该信息

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-16
    • 2021-12-24
    • 1970-01-01
    • 1970-01-01
    • 2021-08-14
    • 2022-01-09
    • 1970-01-01
    相关资源
    最近更新 更多