我正在将我的rc5项目升级到rc6。我已经更新了其余代码,现在它已编译,但是当我在浏览器中导航到项目时,我收到错误。我认为问题出在我的systemjs配置文件中,即在System.config
中我的index.html是:
<!DOCTYPE html>
<html lang="en">
<head>
<base href="/">
<title>Angular2 rc6</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="css/vendor.css" />
<script src="node_modules/typescript/lib/typescript.js"></script>
<script src="node_modules/core-js/client/shim.min.js"></script>
<script src="node_modules/zone.js/dist/zone.js"></script>
<script src="node_modules/systemjs/dist/system.src.js"></script>
<script src="systemjs.config.js"></script>
<script>
System.import('app').catch(function(err){ console.error(err); });
</script>
</head>
<body>
<app>Loading...</app>
</body>
</html>
systemjs.config.js
System.config({
transpiler: 'typescript',
typescriptOptions: {emitDecoratorMetadata: true},
map: {
'@angular': 'node_modules/@angular',
'rxjs' : 'node_modules/rxjs'
},
paths: {
'node_modules/@angular/*': 'node_modules/@angular/*/bundles'
},
meta: {
'@angular/*': {'format': 'cjs'}
},
packages: {
'app' : {main: 'main', defaultExtension: 'js'},
'rxjs' : {main: 'Rx'},
'@angular/core' : {main: 'core.umd.min.js'},
'@angular/common' : {main: 'common.umd.min.js'},
'@angular/compiler' : {main: 'compiler.umd.min.js'},
'@angular/platform-browser' : {main: 'platform-browser.umd.min.js'},
'@angular/platform-browser-dynamic': {main: 'platform-browser-dynamic.umd.min.js'}
}
});
项目结构是
project
|-systemjs.config.js
|-src
|-index.html
|-app
|-main.ts
|-...
错误
typescript.js:1 Uncaught SyntaxError: Unexpected token <
shim.min.js:1 Uncaught SyntaxError: Unexpected token <
zone.js:1 Uncaught SyntaxError: Unexpected token <
system.src.js:1 Uncaught SyntaxError: Unexpected token <
systemjs.config.js:1 Uncaught SyntaxError: Unexpected token <
(index):20 Uncaught ReferenceError: System is not defined
答案 0 :(得分:0)
我相信它是因为你需要更新你的Systemjs.config.js文件。 Rc.6对配置文件进行了一些重大更改。我通过复制新的systemjs.config.js文件解决了我自己项目中的这个错误,确保为项目添加了特殊的映射或路径,并将其添加到
map:{}
和
paths:{}
配置部分。 同样,这也是一个很好的做法,我会将 index.html 移到项目的根目录(接下来是systemjs.config.js),并且因为你的 app 文件夹嵌套在 src 文件夹中,您可能需要将其添加到systemjs.config中的地图上,例如
map{
app: 'src/app'
}
你也可以在这里找到新的systemjs.config.js angular.io