2016-05-16 91 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 }); 
    } 
} 
});