流星构造函数名称缩写为生产中的一个字母

时间:2014-05-16 12:48:21

标签: heroku coffeescript meteor iron-router

这个问题有点莫名其妙。在Meteor上,我使用的是铁路由器和minimongoid等。所有套餐都是最新的。我也在使用coffeescript。

我有一个AppController扩展铁路由器的RouteController。我已经定义了一个函数,它将构造函数的名称转换为我可以用作HTML类的字符串:

viewName: () =>
    name = this.constructor.name
    _(_.str.underscored(name)).strLeft("_controller")

在开发中,这很好用。

在生产中,此构造函数名称最终为单个字母;我已经看到它是r,n或m。 Minimongoid似乎遇到了类似的问题,因为这些类名也减少到一个字母。

我正在使用这个buildpack:https://github.com/oortcloud/heroku-buildpack-meteorite.git

1 个答案:

答案 0 :(得分:4)

Meteor使用uglify来最小化您的JS代码,以便最大限度地减少带宽。此过程中的一个步骤是将所有局部变量名称更改为更简洁的形式,从您看到的那些单字母名称开始。因此,您不能以您的方式依赖变量名称。一种可能的解决方案是改为使用字典。