【问题标题】:html5, angularJS with closure compiler and/or closure libraryhtml5,带有闭包编译器和/或闭包库的 angularJS
【发布时间】:2012-06-17 10:14:37
【问题描述】:

我正在考虑使用 html5、用于数据绑定的 angularJS 以及用于交互式 Web 应用程序的 google 闭包编译器和闭包库。这些能很好地协同工作吗?不幸的是,到目前为止似乎还没有详细的报告。

我有 adobe flex 经验,但我对纯 js 还很陌生。所以这些问题可以被认为是从初学者的角度来看的。没有需要移植的代码库,一切都将从头开始开发。

  1. 还有其他人成功使用此组合吗?
  2. 有第一手报道吗?
  3. 在这种情况下,您会推荐单独的技术,还是有更好的替代方案可以组合?
  4. 是否有任何好的示例、示例项目甚至教程(用于组合 - 而不是单独的技术)?
  5. 初学者应该注意哪些陷阱?
  6. 是否还有其他我应该使用或至少考虑的正交技术?

我已经找到了一些或多或少相关的链接:

【问题讨论】:

  • 新用户发布的链接不能超过两个,所以这里再添加一个作为评论:groups.google.com/group/closure-library-discuss/browse_thread/…
  • 我喜欢这类问题,并且在某种程度上它非常有用,但惊讶地发现为什么没有尝试以非建设性、意见等为由进行近距离投票。不可预测。

标签: javascript html google-closure angularjs


【解决方案1】:

希望有帮助

更改代码

function MyCtrl($scope) {/* code */}

收件人

var MyCtrl = ['$scope', function($scope) {/* code */}]

【讨论】:

    【解决方案2】:

    闭包编译器

    您绝对可以编译您的代码(Angular 本身是使用 Closure 编译器编译的),尽管此时您只能使用简单的优化。

    一般来说,我们希望 Angular 与编译器配合得很好。

    闭包库

    Google 内部有一堆项目,将库与 A​​ngular 一起使用。

    他们使用 goog.provide() 和 goog.require() 进行依赖。使用 goog.isString() 或 goog.inherits() 等实用程序也非常简单。

    使用闭包 UI 组件可能需要一些额外的工作(尽管同样有项目使用它)。

    【讨论】:

    • 您的意思是“简单优化”还是“仅空白”优化?我试图通过闭包编译器网络应用程序来做简单的事情,当它用MyController(a) 替换MyController($scope)(以及控制器中对$scope 的所有其他引用)时,我的代码会中断。
    • 对于“简单优化”,我的意思是“简单优化”:-D 您需要为 DI 使用显式注释来处理已编译的代码。例如。 MyController.$inject = ['$scope'];
    • 已经有一个 Closure 编译器通过,可以自动为你做这些注释,希望它很快就会开源......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多