2016-05-16 80 views
1
<html lang="en"> 
<head> 
<meta charset="utf-8" /> 
<link rel="stylesheet" href="app.css" type="text/css" /> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.5/angular.js"></script> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/systemjs/0.19.27/system.src.js"></script> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/2.0.0-beta.17/angular2-polyfills.js"></script> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/2.0.0-beta.17/Rx.js"></script> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/2.0.0-beta.17/angular2.dev.js"></script> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/2.0.0-beta.17/upgrade.dev.js"></script> 
<body> 
<h1>Angular 1 to 2</h1> 
<script> 
    angular.element(document).ready(function() { 
     var upgrade_1 = require('angular2/upgrade'); 
     var upgradeAdapter = new upgrade_1.UpgradeAdapter(); 
     upgradeAdapter.bootstrap(document.body, ['app'], { strictDi: true }); 
    }); 
</script> 
</body> 
</html> 

以上是我试图用来设置angular2升级适配器的html。AngularJS UpgradeAdpater for 1 to 2 Issue

我目前只是试图加载升级适配器。脚本标记中的上述代码是示例打印代码按照角色网站符合js的示例。 https://angular.io/docs/ts/latest/guide/upgrade.html#!#bootstrapping-hybrid-angular-1-2-applications

问题是我不断收到以下错误:''require'is undefined“。

为什么systemjs没有加载它?

回答

1

下面是关于如何设置升级适配器

https://medium.com/@SevenLee/configuration-tips-to-build-hybrid-angular-1-and-angular-2-project-in-real-world-230b715629dc#.g0tsratdm

我的主要问题是在我的tsconfig文件我需要使用“模块”一个伟大的一步一步:“系统”,而不是“模块“: “CommonJS的”

这将编译升级适配器代码:

system.register(['angular2/upgrade'], function(exports_1, context_1) { 
"use strict"; 
var __moduleName = context_1 && context_1.id; 
var upgrade_1; 
var upgradeAdapter; 
return { 
    setters:[ 
     function (upgrade_1_1) { 
      upgrade_1 = upgrade_1_1; 
     }], 
    execute: function() { 
     upgradeAdapter = new upgrade_1.UpgradeAdapter(); 
     upgradeAdapter.bootstrap(document.body, ['app'], { strictDi: true }); 
    } 
} 
});