2016-02-05 79 views
12

我想学习和切换到角2我的应用程序,但我有打字稿的问题。问题是我无法使用它。在我目前的环境中,我不能使用编译器。即时通讯现在不得不运行node.exe(node.js可执行文件),但不是完整的node.js应用程序,只是可执行文件,这意味着我无法运行npm。但角2被写入打字稿中,因此需要在发送到浏览器之前将其编译为JavaScript。有没有办法我可以得到一个预编译版本的角2(所以它在JavaScript中),所以我可以写我的代码在JavaScript中,让一切都运行没有编译器?如果没有的话,你是否可以通过node.exe可执行文件手动安装和使用typescript编译器。使用角度2没有打字稿编译器

要清楚这不是因为我不想使用打字稿它是因为在我目前的情况下我不能安装打字稿。

+2

的[?是否可以使用ES5的JavaScript与角2代替打字本]可能的复制(http://stackoverflow.com/问题/ 30689094/is-it-it-it-use-es5-javascript-with-angular-2-instead-of-typescript) –

回答

17

Angular2可用于TypeScript,JavaScript和Dart。不需要使用TypeScript。


- https://angular.io/docs/js/latest/index.html
- http://blog.thoughtram.io/angular/2015/05/09/writing-angular-2-code-in-es5.html
- http://blog.thoughtram.io/angular/2015/07/06/even-better-es5-code-for-angular-2.html

参见Is it possible to use ES5 JavaScript with Angular 2 instead of TypeScript?

<script src="https://code.angularjs.org/2.0.0-beta.3/Rx.umd.js"></script> 
<script src="https://code.angularjs.org/2.0.0-beta.3/angular2-polyfills.js"></script> 
<script src="https://code.angularjs.org/2.0.0-beta.3/angular2-all.umd.dev.js"></script> 
+0

即时通讯讨论角2本身的问题在角度2测试版中写入脚本,因此它需要打字稿才能运行,即使我不需要使用打字稿 – Binvention

+0

不,它是用TypeScript写的。 JS和Dart版本是从TypeScript自动生成的,它们可以在JS和Dart源代码中使用。 –

+0

JS源代码在哪里?我无法找到任何地方 – Binvention

3

如果你想使用打字稿编写你的应用程序,你需要一个transpiler:

  • 静态。例如,tsc -w命令在运行中在后台运行
  • 。直接在浏览器中使用typescript.js文件

这表示可以使用ES5编写Angular2应用程序。下面是一个示例:

编辑

如果包括这些JavaScript文件来回Angular2(文件夹node_modules/angular2/bundles),有任何关于打字稿:

<script src="node_modules/angular2/bundles/angular2-polyfills.js"></script> 
<script src="node_modules/systemjs/dist/system.src.js"></script> 
<script src="node_modules/rxjs/bundles/Rx.js"></script> 
<script src="node_modules/angular2/bundles/angular2.dev.js"></script> 
<script src="node_modules/angular2/bundles/router.dev.js"></script> 
<script src="node_modules/angular2/bundles/http.dev.js"></script> 

这些文件被转换成JavaScript。所以没有必要有TypeScript。有了它们,您就可以仅使用ES6来实现您的应用程序。

要使用ES5只,你需要包括这些的:

<script src="node_modules/angular2/bundles/Rx.umd.js"></script> 
<script src="node_modules/angular2/bundles/angular2-polyfills.js"></script> 
<script src="node_modules/angular2/bundles/angular2-all.umd.dev.js"></script> 
+0

是的,我会告诉OP至少给它一个镜头,TypeScript使它更容易,因为IDE自动完成你 –

+0

我的问题是角2写在打字稿,所以我不能使用角,因为我无法安装打字稿。如果我可以安装打字稿我会的 – Binvention

+0

是的,Angular2是用TypeScript编写的,但是当你包含相应的捆绑JavaScript文件时,你不需要TypeScript,因为它们被编译成ES5 –