Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript硬编码变量_Javascript_Variables_Hardcoded - Fatal编程技术网

Javascript硬编码变量

Javascript硬编码变量,javascript,variables,hardcoded,Javascript,Variables,Hardcoded,我有一个简单的js文件: //base.js ... var url = '/post/' + id + '/comment'; ... 我使用的是Symfony2,所以在服务器端,所有的URL都是由路由器生成的,我在js中使用硬编码的URL,这让我很恼火 有没有办法让它们更具活力? 这些是我考虑过的解决方案,但我不满意: 在HTML标记(如中定义它们)中,您至少应该在配置对象中定义所有常量变量,并使用属性名或getter函数访问它,从而最大限度地减少命名空间污染。正是为满足您的需要而设计

我有一个简单的js文件:

//base.js

...
var url = '/post/' + id + '/comment';
...
我使用的是Symfony2,所以在服务器端,所有的URL都是由路由器生成的,我在js中使用硬编码的URL,这让我很恼火

有没有办法让它们更具活力?
这些是我考虑过的解决方案,但我不满意:


  • 在HTML标记(如
    中定义它们)中,您至少应该在配置对象中定义所有常量变量,并使用属性名或getter函数访问它,从而最大限度地减少命名空间污染。

    正是为满足您的需要而设计的

    var url = Routing.generate('some_route_to_expose', { foo: 'bar' });
    // url is http://somehost.com/app_dev.php/my_route
    

    该捆绑包还允许您转储、编译和缩小生成的javascript。太棒了

    我可以想到的另一个例子是在构建步骤生成URL映射(并将它们保存在javascript对象中),最后我声明了一个全局名称空间对象,并插入了我需要的所有路径作为该对象的属性。我一点也不喜欢它。。。这是Symphony的一个局限性,它让我对框架失去了兴趣。