只需要一个选项:现在开始Angular2RC2开发只需10分钟
这次我做了将基于Angular1的项目迁移到Angular2的工作。设置node.js项目很困难而且很麻烦,但这次得益于angular-cli,很轻松地完成了,所以我会记录下来。
我的開發環境是Macbook,但我認為在其他平台上也沒有太大的差異。首先要安裝npm。在Mac上,可以使用nvm來輕鬆安裝和管理。
brew install nvm
nvm install v6
v4也可以。
使用 angular-cli 需要安装以下库或插件。
npm i -g eslint angular-cli typings
在v6版本中,可能仍会显示警告消息,但是功能没有问题。如果有顾虑,可以尝试使用v4版本。
此外,正如您所见,angular-cli目前仍处于beta版阶段,所以未来会有什么变化还不清楚。甚至这份手册的有效期可能不到一个月呢。
我们应该开始正式进行项目了。
cd ~/path_to_projects
ng new project
使用ng命令可以轻松生成。虽然最理想的情况是在这个阶段完成,但是angular-cli还没有对RC2版本进行支持,所以需要升级库并应用angular/forms。
我使用VS Code进行Angular2的工作。虽然可以使用vi或其他任何编辑器,但是使用intellisense确实很方便。以下是我正在使用的插件。
EditorConfig.EditorConfig-0.2.7/
christian-kohler.npm-intellisense-0.1.1/
dbaeumer.vscode-eslint-0.10.16/
johnpapa.Angular2-0.4.4/
从现在开始是文件的修改。我们将修改生成的项目文件夹中的package.json。
"dependencies": {
"@angular/common": "2.0.0-rc.2",
"@angular/compiler": "2.0.0-rc.2",
"@angular/core": "2.0.0-rc.2",
"@angular/http": "2.0.0-rc.2",
"@angular/forms": "0.1.0",
"@angular/platform-browser": "2.0.0-rc.2",
"@angular/platform-browser-dynamic": "2.0.0-rc.2",
"@angular/router": "3.0.0-alpha.7",
...
将 rc.1 更改为 rc2,并将路由器从 lpha.3 更改为 alpha.7。别忘了添加 @angular/forms。
在主要文件main.ts中添加了与http和forms相关的配置。
import { bootstrap } from '@angular/platform-browser-dynamic';
import { enableProdMode } from '@angular/core';
import { AwardResultComponent, environment } from './award-result/';
import { HTTP_PROVIDERS } from '@angular/http';
import { disableDeprecatedForms, provideForms } from '@angular/forms';
if (environment.production) {
enableProdMode();
}
bootstrap(AwardResultComponent, [HTTP_PROVIDERS, disableDeprecatedForms(), provideForms()]);
当RC3发布时,由于disableDeprecatedForms仅适用于RC2版本,因此需要进行删除操作。
将forms添加到src/system-config.ts中。
const barrels: string[] = [
...
'@angular/forms',
...
文件的修改已经完成。现在开始项目吧。
npm install
ng serve
连接到 http://localhost:4200/,看到 “app works!” 的消息即为成功。在 src/app/app.component.ts 中更改标题,并确认自动在浏览器中反映出来。如果不需要内置服务器,则可以使用 build –watch 命令就足够了。
ng build --watch
只需要一个选项来用中文表述以下内容:
这就是结束了。从ng new到ng serve真的不到10分钟。
在我的情况下,我使用nginx来代替内建服务器进行操作,但是基于dist/index.html创建页面,并在System.js中设置了baseURL后,Angular2运行得非常顺利,没有任何问题。
System.config({baseURL:'/path-to-projects/project/dist/'});
我试用了angular-cli后的感想是Google确实很厉害。使用ng命令可以实现各种功能,几乎不需要额外的设置。
由於環境設定已經輕鬆完成,接下來只需創建一個優秀的應用程式。熟悉TypeScript後,您可以參考Angular 2的快速入門和種子應用程式等範例來創建一個出色的應用程式。我忘了提到,您也應該了解供測試用的Jasmine、Karma以及用於處理Ajax的RxJS。