November 16, 2013

在 ClojureScript 中使用 macro 简化 Angular.js 代码

背景

在 Angular.js 中配置 module.config 和 module.controller 等时, 需要使用一种稍微麻烦一点的方式:

function PhoneListCtrl($scope, $http) {...}

phonecatApp.controller('PhoneListCtrl', ['$scope', '$http', PhoneListCtrl]);

即需要重复指定需要的参数: 函数的参数和数组中的字符串. 这样做的目的是防止这些 JavaScript 代码被压缩混淆后, 函数的参数被重命名以至于 An......