如何将多个angularjs文件编译成单个应用程序文件

时间:2014-11-25 12:22:10

标签: javascript angularjs

我最近开始使用angularjs,目前我正在开发别人的代码。整个应用程序分为多个文件,但最后它们是从单个application.js文件中使用的。

我的文件看起来像这样:

//= require (some path)
//= require (some path)
angular.element(document).ready(function () {
    angular
        .bootstrap(document, [
            (multiple routes)
        ]);
});

似乎我需要编译此文件以生成整个应用程序的新的更大的文件。不过,我无法想象。

2 个答案:

答案 0 :(得分:1)

有多种方法可以做到这一点,您可以选择现有的库,如:

  • Uglify:连接,缩小和" uglify"的传统方式JS将资源整合到一个" .min.js"文件。如果要在整个目录结构中连接所有js文件而不是使用显式相对require,那么这非常有用。

  • Browserify:使用CommonJS的require生成一个明智地解析依赖关系的单个文件。看起来更像是您希望实施应用的方式!请注意,require调用是已解析的服务器(NodeJs)端。

  • RequireJS:针对浏览器的特定require ,表示您的代码只会在客户端运行。

答案 1 :(得分:0)

我想对你的原帖发表评论,但时间太长了。这不是一个明确的答案,所以我道歉。基于另一篇文章(Google Closure Compiler Includes),我怀疑他们可能一直在使用Google的Closure编译器,并使用require语句来触发Closure编译器的依赖性分析。

显然编译器可以翻译RequireJS'要求'将语句转换为goog.require语句,以建立javascript文件之间的排序依赖关系。因此,您可能需要查看整体文件,看看它是否有通过Closure编译器的任何迹象。