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