有没有办法在没有任何模块加载器的情况下使用角度2?

Ryb*_*kov 10 typescript systemjs angular

angular 2官方网站上的快速入门部分介绍了如何运行最简单的角度2应用程序.默认情况下,SystemJS用作模块加载器.还有一个说明,说有其他选择可以正常工作.我理解模块加载器的好处,但是有没有办法在没有任何模块加载器的情况下运行angular 2 app?

当我只是删除SystemJS配置和SystemJS源脚本标记时,我在控制台中收到错误angular2.dev.js:

Uncaught ReferenceError: System is not defined
Run Code Online (Sandbox Code Playgroud)

看起来像angular 2本身使用SystemJS.那么,有没有办法在没有任何模块加载器的情况下使用角度2?

Mon*_*ono 1

是的,您可以使用普通的 ES5 javascript。试试这个简单的例子

另外,您可以尝试官方的 javascript 5 分钟快速入门,其中考虑到“ES5 JavaScript 没有本机模块系统”,他们创建了一个示例。我们可以使用几种流行的第 3 方模块系统。相反,为了简单起见并避免选择收藏夹,我们将为我们的应用程序创建一个全局命名空间。”。

单个全局命名空间(并加载教程中描述的正确脚本(angular2-all.umd.js 等))是无需模块加载器运行的方法之一。

此结构也适用于 Typescript 或 ES6。您只需要添加您最喜欢的转译器(BabelTraceur等)即可将代码编译为 ES5 并将其与教程中的其余代码一起使用,但我想您已经在运行它了。

  • 不幸的是,两个示例链接现在都已失效。它们有更新版本吗? (2认同)