有没有一种方法可以在项目内部定义一个变量,我可以在部署前(本地或远程)由webstorm自动填充的javascript.php内部引用该变量?例如,我有一个变量:
var foo = "/hello/world"
此变量用于定义远程服务器上的相对路径(由远程Web服务器处理)。然而,当我使用本地webstorm服务器进行一些本地测试时,它无法正确映射,我必须手动将其更改为指向:
var foo = "http://localhost:1234/hello/world"
这使得部署过程中更容易出错,因为在部署之前,我必须仔细检查项目中的每个这样的变量。我的问题是,是否可以将这些类型的声明替换为一个特殊的webstorm变量,该变量可以根据每个部署位置进行自定义,或者我是否可以为webstorm本地webserver的某些路径设置自定义映射。
假设您有动态URL,您可以将其存储到JavaScript变量中,如:
var base = "< ? php echo $phpstormurl; ? >";
var relative = '/hello/world';
之后,您可以将两者组合为一个,如:
var absolute = base + relative;
如果你提醒路径,它会向你显示完整的路径。
最常见的解决方案是使用环境变量。
这些值是您在代码之外的(本地)服务器上设置的,可以通过$_ENV
访问。
// Reading an env var with defaults
$foo = getenv("FOO") ? getenv("FOO") : 'bar';
还有一些工具,如phpdotenv,可以用于从项目中的文件中设置env-var。