我需要在环境变量中设置一个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中使用冒号传递值?
答案 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"
这不是最好的方法,但是有效