簡體   English   中英

如何在Node.js中傳遞環境參數

[英]How to pass env parameter in nodejs

我想將@test:registry =值更新為從package.json調用的myNode.js進程,我嘗試更新所有環境,但沒有成功。 是否可以從childproc.execSync做到這一點?

package.json

{
    "name": "test1",
    "scripts": {
        "postinstall": "node myNode.js",
        "start": "node node_modules/xx"
    }
}

myNode.js

childproc.execSync('npm install && npm run build', { cwd: '..', shell: true, stdio: 'inherit' , env : {env:process.env}})

我也嘗試過

  childproc.execSync('npm install && npm run build', { cwd: '..', shell: true, stdio: 'inherit' , env : {env:{ 'npm_config__test_registry':value}})

然后我得到了/ bin / sh:1:npm:not foundchild_process.js:644 throw err; ^

我在創建childproc之前嘗試打印process.env,然后看到了相關設置,但是當我嘗試使用npm config列表在childProc中對其進行檢查時,看到了不同的值

當我嘗試

childproc.execSync('npm config set @test:registry:value && npm install && npm run build', { cwd: '..', shell: true, stdio: 'inherit'  })

然后它起作用了。 是否可以使用execSync中的env做到這一點

添加myNode.js

您可以在process.env設置環境變量

process.env.NODE_ENV = 'production';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM