Javascript 使用requirejs和angular js

Javascript 使用requirejs和angular js,javascript,angularjs,requirejs,Javascript,Angularjs,Requirejs,我试图同时使用requirejs和angular js。通过谷歌搜索推荐给某人: 两个指南似乎都使用了angular、angular route和angular amd,但我认为它们是用于其他复杂的目的,所以我只使用了“angular js”(因此require.config()中没有shim) 我的main.js如下所示 require.config({ paths: { jquery : 'https://ajax.googleapis.com/aj

我试图同时使用requirejs和angular js。通过谷歌搜索推荐给某人:

两个指南似乎都使用了angular、angular route和angular amd,但我认为它们是用于其他复杂的目的,所以我只使用了“angular js”(因此require.config()中没有
shim

我的
main.js
如下所示

require.config({
    paths: {
        jquery      : 'https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min',
        'angular'   : 'https://ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular.min',
        'class'     : 'class',
        'utility'   : '../utility/utility',
    },

    deps: ['main1']
});
其中
deps:['main1']
是将require定义为第一个指南使用后立即加载的文件

但我一直在犯这样的错误:

('UpdateApp'是我在项目中使用的应用程序的名称。)

网页上说,当我忘记将文件包含在已定义的模块中时,会出现错误

不使用
deps:['main1']
而是使用
require(['angular',function(){}
并注销
angular.module('myApp',[])
很好地记录了对象……似乎
require(['angular',function(angular)
不起作用,但
require(['angular',function())
对我很有用,导游似乎没有告诉我应该做后者还是前者

我认为这很简单,只需在
路径中添加角度js,然后使用
require()
define()
加载它就可以了,但它不是


我如何使用Require JS和Angular JS,就像将它们一起打印“hello world”一样简单?

查看您的代码,我可以看出您显然误解了同时使用requireJS和angular的概念。您找到的任何一个链接都是由专业的JS开发人员制作的。他们都试图将angular和requireJS尽可能简单地结合起来。因此,您需要接受这样一个事实,即两者都很复杂

=>这就是为什么我不会尝试帮助您编写一些代码的原因。因为这将花费大量时间,而且会涉及到许多主题,这些主题不太可能包含在有关stackoverflow的单个问题和答案中

我如何使用Require JS和Angular JS,就像将它们一起打印“hello world”一样简单

首先我想重复一遍。这和简单的工作完全不同。对于
requireJS
,您至少需要对AMD有更深入的了解,并且能够想象当
requireJS
尝试加载JS库时,事情是如何异步发生的

其次,关于
angular
module/service injection的一般知识。由于requireJS和angular都可以进行某种模块/服务注入,因此您需要了解这两者之间的区别

第三,Web应用程序的初始阶段。因为requireJS和angular都需要初始化才能正常运行。所以这也是需要的

总结 你不可能在一两天内理解这两个问题。这需要时间。但幸运的是,我有几个建议给你

  • 研究需求和角载荷之间的相关性
  • 点击angularAMD获取项目种子。设置项目种子,运行项目种子,玩项目种子
  • 提高您对两者初始状态的了解
  • 利润

p.S.仅供参考。一年前,我开始学习requireJS和angular。我也接触到了一大堆知识,就像你一样。这些就是我试图理解他们的。慢慢来,这不像使用
jquery
,它可以在一两天内学会。即使对于一些JS专家来说,也需要几个月的时间才能学会对角度有信心(不算与requireJS组合)。干杯!

在main1.js中,您必须使用require(['angular'],function(){}启动应用程序。

Require JS将为您提供一个包依赖关系管理器、连接器/uglifier、javascript文件加载程序和注入器。Require JS注入器用于注入类,而Angular用于注入实例

最大的优点是,RequireJS将通过管理负载和运行时依赖关系来加快应用程序的速度。它对大型SPA非常有用

您可以通过使用“define”定义所有依赖项来设置文件结构。要执行函数,您需要使用“require”

以下是一段有用的视频:


@SatejS-Oops。我不知道该页面包含该内容。我认为这是一个简单的错误页面,解释了$injector:modulerr。
UpdateApp
在我的问题中是
myApp
。这只是我将在我的项目中使用的应用程序的名称。无论如何,如果我不使用require JS,我的代码工作正常。谢谢你的提醒。我认为我是个傻瓜因为不理解AngularJS并将其与requireJS相结合而愚蠢。你给了我很多鼓励。谢谢。我想我要学习angularAMD。我没有尝试过,因为在这方面,它使用
定义
而不是
要求
。如果你定义应用程序,它将不会执行函数。你必须要求它才能执行。