Javascript 未注入通过RequireJS从CDN加载角度
在我的项目中,我想使用RequireJS并引导我的应用程序,如下所示:Javascript 未注入通过RequireJS从CDN加载角度,javascript,angularjs,requirejs,Javascript,Angularjs,Requirejs,在我的项目中,我想使用RequireJS并引导我的应用程序,如下所示: requirejs.config({ baseUrl: 'scripts/vendor', paths: { jquery: [ 'https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min', 'jquery' ], angular: [ 'http://ajax.googleapis.c
requirejs.config({
baseUrl: 'scripts/vendor',
paths: {
jquery: [
'https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min',
'jquery'
],
angular: [
'http://ajax.googleapis.com/ajax/libs/angularjs/1.0.4/angular.min',
'angular'
],
app: '../app'
}
});
require(['require', 'jquery', 'angular', 'app'], function(require, $, angular, app) {
console.log(require);
console.log($);
console.log(angular);
console.log(app);
});
在my index.html上,只有RequireJS通过脚本标记加载,RequireJS在脚本标记中加载上述代码。
工作原理:
-在我的网络监视器中,我可以看到RequireJS、jQuery、Angular和app都已加载
-对于require、jQuery和app,console.log消息打印正确
有角度的物体不知何故是未定义的。但是,如果我不从CDN加载它并使用我的本地加载,它就会工作!本地文件是一个如下所示的RequireJS包装器:
define(['/components/angular/angular.min.js'], function () {
return angular;
});
如何使用Angular的CDN获得这项工作?还是这取决于角度的支持?首先,您将“路径”与“垫片”混淆了
路径是好的,不要选择“垫片”行为。但是,您需要使您的“路径”正确:
然后,你需要放下需要有东西还给你的需要。。。只要“使用原力,卢克”:)当你需要时,期待合适的地球人出现:
require(['jquery', 'app', 'angular'], function($, app, thisValueDoesNotMatter) {
// you don't need to wrap "require" Just use global
console.log(require);
console.log($);
console.log(app);
// note, angular is loaded as "plain JavaScript" - not an AMD module.
// it's ok. It returns "undefined" but we just don't care about its return value
// just use global version of angular, which will be loaded by this time.
// because you mentioned it in your dependencies list.
console.log(window.angular);
});
我的情况正好相反。我在路径
“NetworkError:404找不到-https://ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular.min.js.js“
。所以当我移除时,它就起作用了。js@VitaliiKorsakov是的,如果文件名中有.min,您会感到困惑。我还没有找到解决办法,但我也没有找过。
require(['jquery', 'app', 'angular'], function($, app, thisValueDoesNotMatter) {
// you don't need to wrap "require" Just use global
console.log(require);
console.log($);
console.log(app);
// note, angular is loaded as "plain JavaScript" - not an AMD module.
// it's ok. It returns "undefined" but we just don't care about its return value
// just use global version of angular, which will be loaded by this time.
// because you mentioned it in your dependencies list.
console.log(window.angular);
});