2016-03-18 86 views
9

在我的index.html文件中,我通过cdn加载角度2,但它似乎是因为我导入角2 systemjs的模块认为我必须在本地,我该如何解决这个问题?如何使用CDN和SystemJS加载angular2

<html> 
<head> 
    <base href="/"> 
    <title>Angular 2 Arc</title> 
    <link rel="icon" type="image/x-icon" href="favicon.ico"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
</head> 

<body> 
    <ng2-app>Loading...</ng2-app> 
    <!-- Load Angular 2 Core libraries --> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/systemjs/0.19.24/system.js"></script> 
    <script src="https://npmcdn.com/[email protected]/bundles/Rx.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/2.0.0-beta.9/angular2-polyfills.min.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/2.0.0-beta.9/angular2.min.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/2.0.0-beta.9/http.min.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/2.0.0-beta.9/router.min.js"></script> 
    <script src="https://npmcdn.com/[email protected]/es6/dev/src/testing/shims_for_IE.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/es6-shim/0.35.0/es6-shim.min.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/systemjs/0.19.20/system-polyfills.js"></script> 
    <script src="https://code.angularjs.org/tools/system.js.map"></script> 

    <!-- Load Bootstrap and Jquery --> 
    <script src="lib/jquery/jquery.min.js" charset="utf-8"></script> 
    <script src="lib/bootstrap/js/bootstrap.min.js" charset="utf-8"></script> 
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/github-fork-ribbon-css/0.2.0/gh-fork-ribbon.min.css" /> 
    <link rel="stylesheet" href="/lib/bootstrap/css/bootstrap.min.css" media="screen" title="no title" charset="utf-8"> 
    <link rel="stylesheet" href="assets/css/app.css"> 
    <!-- Configure SystemJS --> 
    <script> 
     System.config({ 
      defaultJSExtensions: true, 
      packages: { 
       boot: { 
        format: 'register', 
        defaultExtension: 'js' 
       } 
      } 
     }); 
     System.import('js/boot') 
       .then(null, console.error.bind(console)); 
    </script> 
</body> 
</html> 
+0

你有什么确切的错误? –

+0

实际上它需要我在组件中使用的所有文件,但需要它们在本地。所以它的文件没有发现404错误,为http.js,common.js,核心等 –

+0

我还注意到一些奇怪的东西。你能否使用开发工具去检查网络,它使用system.src.js提出了超过500个请求,因此花费了大量的时间来加载。 –

回答

1

使用SystemJS,您可以提供从不同位置加载模块的映射。

SystemJS.config({ 
    map: { 
     '@angular': 'https://npmcdn.com/@angular' 
    } 
}); 

这会将模块@angular的所有加载重定向到该cdn位置。

更多详细信息检查systemjs.config.js在此plunker获取更详细的信息

相关问题