我想学习Angular 2并将我的应用切换为使用它,但是,我在使用TypeScript时遇到了问题。
在我目前的环境中,我无法使用转换器/编译器。我目前只需要运行node.js可执行文件(node.exe),但不是完整的node.js应用程序,也不是npm。 Angular 2是用TypeScript编写的,因此需要在发送到浏览器之前将其编译为JavaScript。
有没有办法获得Angular 2的预编译版本,所以我可以用JavaScript编写并在没有编译器的情况下运行?
如果没有,有没有办法只用node.exe可执行文件手动安装和使用TypeScript编译器?
要明确,这不是因为我不想使用TypeScript,而是因为在我目前的情况下我无法安装它。
答案 0 :(得分:20)
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>
答案 1 :(得分:3)
如果您想使用TypeScript编写应用程序,则需要一个转换器:
tsc -w
命令那说只用ES5编写Angular2应用程序是可能的。这是一个示例:
修改强>
当你从Angular2(文件夹node_modules/angular2/bundles
)中包含这些JavaScript文件时,没有任何关于TypeScript的内容:
<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>