久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

<i id='eQBWw'><tr id='eQBWw'><dt id='eQBWw'><q id='eQBWw'><span id='eQBWw'><b id='eQBWw'><form id='eQBWw'><ins id='eQBWw'></ins><ul id='eQBWw'></ul><sub id='eQBWw'></sub></form><legend id='eQBWw'></legend><bdo id='eQBWw'><pre id='eQBWw'><center id='eQBWw'></center></pre></bdo></b><th id='eQBWw'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='eQBWw'><tfoot id='eQBWw'></tfoot><dl id='eQBWw'><fieldset id='eQBWw'></fieldset></dl></div>

    1. <legend id='eQBWw'><style id='eQBWw'><dir id='eQBWw'><q id='eQBWw'></q></dir></style></legend>
    2. <small id='eQBWw'></small><noframes id='eQBWw'>

        <bdo id='eQBWw'></bdo><ul id='eQBWw'></ul>
      1. <tfoot id='eQBWw'></tfoot>

        無法在客戶端 Javascript 中設(shè)置“process.env"的值

        Can#39;t set values on `process.env` in client-side Javascript(無法在客戶端 Javascript 中設(shè)置“process.env的值)
          • <tfoot id='e6FOS'></tfoot>
          • <small id='e6FOS'></small><noframes id='e6FOS'>

              <i id='e6FOS'><tr id='e6FOS'><dt id='e6FOS'><q id='e6FOS'><span id='e6FOS'><b id='e6FOS'><form id='e6FOS'><ins id='e6FOS'></ins><ul id='e6FOS'></ul><sub id='e6FOS'></sub></form><legend id='e6FOS'></legend><bdo id='e6FOS'><pre id='e6FOS'><center id='e6FOS'></center></pre></bdo></b><th id='e6FOS'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='e6FOS'><tfoot id='e6FOS'></tfoot><dl id='e6FOS'><fieldset id='e6FOS'></fieldset></dl></div>

              1. <legend id='e6FOS'><style id='e6FOS'><dir id='e6FOS'><q id='e6FOS'></q></dir></style></legend>
                  <bdo id='e6FOS'></bdo><ul id='e6FOS'></ul>
                    <tbody id='e6FOS'></tbody>
                  本文介紹了無法在客戶端 Javascript 中設(shè)置“process.env"的值的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

                  問題描述

                  我有一個系統(tǒng)(它恰好是 Gatsby,但我認為這與這個問題無關(guān))它使用 webpack DefinePlugin 將一些 EnvironmentVariables 附加到全局變量:process.env

                  I have a system (it happens to be Gatsby, but I don't believe that's relevant to this question) which is using webpack DefinePlugin to attach some EnvironmentVariables to the global variable: process.env

                  我可以很好地閱讀這個.

                  I can read this just fine.

                  不幸的是,由于應(yīng)用程序啟動過程的怪異,我需要選擇在站點加載后對這些 EnvironmentVariables 進行一些簡短的覆蓋.(在這個問題的背景下,沒有興趣討論這是否是最佳選擇.我知道還有其他選擇;我想知道 this 是否可行)

                  Unfortunatley, due to weirdnesses in the app startup proces, I need have chosen to do some brief overwritting of those EnvironmentVariables after the site loads. (Not interested in discussing whether that's the best option, in the context of this question. I know there are other options; I want to know whether this is possible)

                  但它不起作用:(<小時>如果我嘗試明確地這樣做:

                  But it doesn't work :(


                  If I try to do it explicitly:

                  process.env.myVar = 'foo';
                  

                  然后我得到 ReferenceError: invalid assignment left-hand side.

                  如果我通過索引器執(zhí)行此操作(這似乎是 dotenv 所做的),那么它不會出錯,但也不起作用:

                  If I do it by indexer (which appears to be what dotenv does) then it doesn't error, but also doesn't work:

                  console.log(process.env.myVar);
                  process.env['myVar'] = 'foo';
                  console.log(process.env.myVar);
                  

                  將記錄 undefined 兩次.<小時>我做錯了什么,我該如何解決?

                  will log undefined twice.


                  What am I doing wrong, and how do I fix this?

                  推薦答案

                  這個嘗試的解決方案背后的前提是有缺陷的.

                  The premise behind this attempted solution was flawed.

                  我的印象是 webpack 使 process.env.* 在瀏覽器中作為對象可用".

                  I was under the impression that webpack "made process.env.* available as an object in the browser".

                  不會!

                  它實際上所做的是將您的代碼轉(zhuǎn)換成文字,無論您在哪里引用 process.env.那么看起來像 fetch(process.env.MY_URL_VAR);實際上并沒有引用變量,它實際上在編譯時被轉(zhuǎn)譯為 fetch("http://theActualValue.com").

                  What it actually does is to transpile you code down into literals wherever you reference process.env. So what looks like fetch(process.env.MY_URL_VAR); isn't in fact referencing a variable, it's actually being transpiled down into fetch("http://theActualValue.com") at compile time.

                  這意味著在概念上不可能修改process.env 對象"上的值,因為在轉(zhuǎn)譯的 javascript 中實際上并沒有實際的對象.

                  That means that it's conceptually impossible to modify the values on the "process.env object", because there is not in fact an actual object, in the transpiled javascript.

                  這解釋了為什么直接賦值會產(chǎn)生 ref 錯誤(您嘗試執(zhí)行 "someString" = "someOtherString";)但索引器沒有.(我假設(shè) process.env 被編譯成一些不同的文字,這在技術(shù)上支持索引設(shè)置器)

                  This explains why the direct assignment gives a ref error (you tried to execute "someString" = "someOtherString";) but the indexer doesn't. (I assume that process.env gets compiled into some different literal, which technically supports an indexed setter)

                  唯一可用的解決方案是修改 webpack 構(gòu)建過程(不是一個選項,盡管我很快會提出 PR 以使其成為可能:)),使用不同的過程將 Env.Vars 放入前端(子- 出于各種其他原因而優(yōu)化)或使用 Gatsby 提供的各種環(huán)境控制來解決問題,以使其完全正常工作(出于其他原因令人反感).

                  The only solutions available would be to modify the webpack build process (not an option, though I will shortly raise a PR to make it possible :) ), use a different process for getting the Env.Vars into the frontEnd (sub-optimal for various other reasons) or to hack around with various bits of environment control that Gatsby provides to make it all kinda-sorta work (distasteful for yet other reasons).

                  這篇關(guān)于無法在客戶端 Javascript 中設(shè)置“process.env"的值的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

                  【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請聯(lián)系我們刪除處理,感謝您的支持!

                  相關(guān)文檔推薦

                  Browser waits for ajax call to complete even after abort has been called (jQuery)(即使在調(diào)用 abort (jQuery) 之后,瀏覽器也會等待 ajax 調(diào)用完成)
                  JavaScript innerHTML is not working for IE?(JavaScript innerHTML 不適用于 IE?)
                  XMLHttpRequest cannot load, No #39;Access-Control-Allow-Origin#39; header is present on the requested resource(XMLHttpRequest 無法加載,請求的資源上不存在“Access-Control-Allow-Origin標頭) - IT屋-程序員軟件開發(fā)技術(shù)分
                  Is it possible for XHR HEAD requests to not follow redirects (301 302)(XHR HEAD 請求是否有可能不遵循重定向 (301 302))
                  XMLHttpRequest 206 Partial Content(XMLHttpRequest 206 部分內(nèi)容)
                  Restrictions of XMLHttpRequest#39;s getResponseHeader()?(XMLHttpRequest 的 getResponseHeader() 的限制?)
                • <i id='bj3bs'><tr id='bj3bs'><dt id='bj3bs'><q id='bj3bs'><span id='bj3bs'><b id='bj3bs'><form id='bj3bs'><ins id='bj3bs'></ins><ul id='bj3bs'></ul><sub id='bj3bs'></sub></form><legend id='bj3bs'></legend><bdo id='bj3bs'><pre id='bj3bs'><center id='bj3bs'></center></pre></bdo></b><th id='bj3bs'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='bj3bs'><tfoot id='bj3bs'></tfoot><dl id='bj3bs'><fieldset id='bj3bs'></fieldset></dl></div>

                    <bdo id='bj3bs'></bdo><ul id='bj3bs'></ul>

                    <small id='bj3bs'></small><noframes id='bj3bs'>

                        <tbody id='bj3bs'></tbody>

                    1. <legend id='bj3bs'><style id='bj3bs'><dir id='bj3bs'><q id='bj3bs'></q></dir></style></legend><tfoot id='bj3bs'></tfoot>

                            主站蜘蛛池模板: 国产一区二区三区在线 | 91久久精品一区二区二区 | 中文字幕日韩欧美一区二区三区 | 91视频一88av | 欧美日韩一区在线 | 国产视频一区二区 | 久久精品黄色 | 天天影视网天天综合色在线播放 | 午夜爽爽爽男女免费观看影院 | 99在线精品视频 | 国产在线精品免费 | 国产欧美日韩精品一区 | 综合欧美亚洲 | 亚洲经典一区 | 国产乱码一二三区精品 | 99国内精品久久久久久久 | 亚洲一区二区三区四区五区中文 | 一区二区av | 四虎在线观看 | 一级片免费视频 | 97caoporn国产免费人人 | 午夜精品久久久久久久久久久久久 | 日本亚洲一区 | 久久久久久国产精品久久 | 欧美日韩高清在线观看 | 国产高清久久久 | 91精品国产92 | 91精品国产综合久久久久 | 日韩欧美国产一区二区三区 | 国产一区欧美一区 | 亚州精品天堂中文字幕 | 黄色精品 | 亚洲精品日韩一区二区电影 | 精品无码三级在线观看视频 | 欧美伊人久久久久久久久影院 | 欧美专区在线 | 日本午夜免费福利视频 | 精品综合久久久 | 国产91在线 | 亚洲 | 精品一二三 | 午夜不卡福利视频 |