微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 如何在没有node.js / npm的情况下在本地使用Angular2,systemjs?

这是带有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/[email protected]"></script>
</body>
</html>

然后System.js工作正常,但在这种情况下,angular2绑定有一个奇怪的问题.在我与页面进行一些交互之前它们不工作(提交表单,打开一个选择,使一些div改变它的尺寸,即使是简单的隐藏等等).只要页面上的内容发生变化,所有绑定就会起作用,页面就会重新生成.

如何在没有node.js且没有互联网连接的情况下使所有这些工作在本地工作?

解决方法:

您应该包括角度2的sfx版本,如下所示:

<script src="https://code.angularjs.org/2.0.0-alpha.32/angular2.sfx.dev.js"></script>

请注意,它是一个可以在本地下载的自包含js文件.

检查我在github中创建的示例项目:

https://github.com/alfonso-presa/angular2-es5-sample

编辑:检查此SO问题以获得有关sfx含义的更多说明:Difference between angular.dev.js and angular.sfx.dev.js

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐