是否有方法将命令参数传递给Cordova-CLI钩子脚本?具体来说,我想为几个客户端筛选一个应用程序,并且我希望在构建之前通过传递一个id号或其他东西来复制他们的特定设置。
发布于 2014-04-14 07:03:16
您可以通过环境变量访问传递给cordova钩子的参数。您可以设置一个环境变量,该变量将保持当前会话的“活动”。
例如,如果我们有一个名为“TARGET”的变量:
Windows cmd:
SET TARGET=someValue
cordova build androidPowershell:
$env:TARGET = "someValue"
iex "cordova build android"然后,您可以使用以下语法访问钩子中的这些环境变量(假设您使用node.js编写钩子):
var target = "someDefaultValue";
// Check for existence of the environment variable
if (process.env.TARGET) {
// Log the value to the console
console.log('process.env.TARGET is set to: ' + process.env.TARGET);
// Override the default
target = process.env.TARGET;
}
// Log the set value
console.log('Target is set to: ' + target);发布于 2017-08-02 14:21:43
看看如何使用cordova命令并传递您自己的一组命令,EG: cordova运行android -e env_value
在钩子中,您可以查找通过使用-e传递的CORDOVA_CMDLINE命令
在下面的bash脚本中,我能够对传递的命令中的每个单词执行一个循环。
#!/bin/sh
(
command=${CORDOVA_CMDLINE}
for word in $command
do
if [ "$flag" = "true" ]
then
echo "Flag is true Word printed is: '$word'"
fi
if [ "$word" = "-e" ]
then
echo $flag
flag="true"
else
echo $word
flag="false"
fi
done以上示例的回波: cordova运行ios -e "prod“
cordova
run
android
-e
Flag is true word printed is: prod发布于 2014-01-31 18:38:19
是的,通过查看CORDOVA_CMDLINE环境变量,您可以看到传递给Cordova的完整命令行。您应该看到这样的设置:
node /usr/local/bin/cordova build ios your_extra_parameters_can_go_here似乎Cordova忽略了它不识别的任何参数(避免用破折号开始您自己的参数),所以您可以在platform参数之后添加您自己的自定义值。
请记住,此功能是最近添加的(3.3.0版)。因此,如果没有为您设置变量,请尝试升级您的Cordova。
https://stackoverflow.com/questions/21418203
复制相似问题