使用rollup.js在环境变量中使用分号

时间:2019-07-25 13:27:57

标签: javascript frontend rollupjs

我需要在环境变量中设置一个api路径。根据rollup.js文档,传递环境变量的方法是:

    openssl rand -hex 64 -out {keyfile}
    openssl enc -aes-256-cbc -salt -in {infile} -out {outfile} -pass file:{keyfile}

请注意,汇总使用冒号将键与值分开。我的问题是我的api路径还包含冒号:

    const crypto=require('crypto');

    var iv = crypto.randomBytes(16);  // ????

    const encryptionkey = crypto.randomBytes( 32 );
    crypto.createCipheriv( 'aes-256-cbc', encryptionkey, iv );

我在rollup -c --environment VALUE:foo,ANOTHER_VALUE:bar 的{​​{1}}中有上一行。在rollup -c --environment API_PATH:http://localhost:8000/api 内部的scripts上,我只得到package.json而不是process.env.API_PATH。用单引号引起来的值无效,而用rollup.config.js进行转义会使http无效。如何在rollup.js中使用冒号传递值?

2 个答案:

答案 0 :(得分:0)

我会在不安中回答这个问题,但也将其放在此处供后人参考。我不知道在使用:时是否有逃脱--environment的方法,但是您可以使用cross-env package from npm之类的方法来解决这个问题。

cross-env API_PATH=http://localhose:8000/api rollup --config

答案 1 :(得分:0)

我有同样的问题,无法找到解决方案,所以我只将URL分为3部分:

ENV API_PROTOCOL="http"
ENV API_HOST="localhost"
ENV API_PORT=""
ENV API_BASE_PATH="/api"

这不是最好的方法,但是有效