这是带有 angular-alpha35 的 index.html:
<html>
<head>
<meta charset="UTF-8">
<base href="/">
<title>APP Ang2</title>
<script src="scripts/traceur-runtime.js"></script>
<script src="https://jspm.io/system@0.16.js"></script>
<script src="scripts/bundle35/angular2.dev.js"></script>
<script src="scripts/bundle35/router.dev.js"></script>
<meta name="viewport" content="width=device-width,initial-scale=1" />
<link rel="stylesheet" type="text/css" href="css/main.css">
</head>
<body>
<app>Loading...</app>
<script>System.import('app').catch(console.log.bind(console));</script>
</body>
</html>
如果有互联网连接并且可以加载 system.js,它就可以正常工作。如果我尝试像这样获取 system.js 的本地副本:
<script src="scripts/system@0.16.11.js"></script>
然后在我放入rx.js
根文件夹并将这一行放在文件末尾之前没有任何效果:
<script src="scripts/es6-module-loader@0.16.6.js"></script>
</body>
</html>
然后 System.js 工作正常,但在这种情况下,angular2 绑定存在一个奇怪的问题。直到我与页面进行一些交互(提交表单,打开选择,使某些 div 更改其尺寸,即使是简单的隐藏等),它们才起作用。一旦页面上的某些内容发生变化,所有绑定都会开始工作并且页面会复活。
如何在没有 node.js 和没有互联网连接的情况下使所有这些在本地工作?