这是带有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/[email protected]"></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/[email protected]"></script>
然后什么都行不通,直到我放入rx.js
根文件夹并将此行放在文件末尾:
<script src="scripts/[email protected]"></script>
</body>
</html>
然后System.js可以正常工作,但是在这种情况下,angular2绑定存在一个奇怪的问题。直到我与页面进行一些交互(提交表单,打开选择,使一些div甚至使用简单的隐藏等更改其尺寸等),它们才起作用。页面上的某些内容发生更改后,所有绑定将立即起作用,并且页面将重新出现。
如何在没有node.js和没有Internet连接的情况下在本地完成所有这些工作?
感谢Arnaud Boeglin关于软件包版本差异的想法,我使用es6-module-loder进行了检查,并且偶然地,该安装效果很好(到目前为止,我没有发现任何问题):
<script src="scripts/traceur-runtime.js"></script>
<script src="scripts/es6-module-loader.js"></script>
<script src="scripts/[email protected]"></script>
<script src="scripts/bundle35/angular2.dev.js"></script>
<script src="scripts/bundle35/router.dev.js"></script>
es6-module-loader必须在<head>
标签中的systemjs之前。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句