【问题标题】:AngularJs Load dependencies filesAngularJs 加载依赖文件
【发布时间】:2014-08-18 19:24:37
【问题描述】:

我正在学习 AngularJS,在所有教程和截屏视频中,我总是看到在一个独特的文件、示例指令、控制器、工厂等中使用 Angular 编写代码......

从逻辑上讲,对于大型应用程序,您将拆分代码,使其在多个文件中可维护和灵活,而且我们应该注意我们需要多少 <script> 标记才能让我们的 JavaScript 文件正确运行。

我想知道在需要时require files 的最佳做法是什么,在我看来可能导入更少的 javascript 文件。我看了看RequireJs,但使用起来似乎有点复杂。有没有更高效、更容易使用的工具?或者有什么好的入门资源?

一个小例子是我有一种使用指令、控制器和工厂构建的插件:

app-|
    --Controllers
         |_ pluginController.js

    --Directives
         |_ pluginDirective.js

    --Factories
         |_ pluginFactory.js  

您如何使其工作,而不是要求所有三个文件?

【问题讨论】:

  • 关于您的文件结构和命名约定,请参阅:stackoverflow.com/questions/25005897
  • 为什么不要求所有 3 个文件?
  • @apairet 非常感谢,非常感谢 :) #Hugo 不是我要问的问题,无论如何,谢谢,因为加载文件意味着对服务器的更多 http 请求

标签: javascript angularjs


【解决方案1】:

Here' 一个很好的例子,展示了如何一起使用 RequireJS 和 AngularJS。它是 Angular Seed 项目的一个分支,它有望为您指明正确的方向。它附带了 RequireJS。我绝对推荐学习 RequireJS!

【讨论】:

  • 这绝对是一个很好的资源,非常感谢!但是应该比 reqirejs 更快,因为我认为,使用 requirejs 意味着在 requirejs 之上创建应用程序的结构。您将其移出,该应用程序无法正常工作。有意义吗?
【解决方案2】:

我建议您阅读 Angular 文档中的依赖注入。这一切都取决于你如何诚实地进行设置。如果您想在控制器中使用您的服务/工厂,那么您可以将工厂作为依赖项添加到您的控制器或指令中。请参阅下面的示例:

Angular.module('{YOUR MODULE NAME}').controller('{YOUR CONTORLLER NAME}', ['$scope', '{FACTORY NAME}',
function($scope,{FACTORY NAME}) {

}]

要在控制器中调用指令,您只需简单地将指令添加到控制器模板中即可。这是一个基本示例,了解更多关于依赖注入调用的信息

【讨论】:

  • 依赖注入机制仍然需要加载所有文件,否则注入器将无法找到模块和组件。这对 OP 没有帮助。
【解决方案3】:

要清楚我理解 - 例如我想使用“angularFileUpload”模块,我需要将它添加到我的模块依赖列表中 -

角度 .module('孩子', ['angularFileUpload' ])

并加载脚本?

<script src="angularjs/plugins/angular-file-upload/angular-file-upload.min.js" type="text/javascript"></script>

感谢您的帮助。

【讨论】:

    猜你喜欢
    • 2018-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-12
    • 2011-05-21
    • 1970-01-01
    • 2019-09-10
    • 2017-05-06
    相关资源
    最近更新 更多