angular-cli常用命令操作指南

2019-03-22  本文已影响0人  华尔街的主导曲

初始化

1.安装cli: npm install -g @angular/cli

2.安装目录及初始化: ng new my-app

3.启动开发服务器 cd 到当前目录运行: ng serve (--open或-o)

常用命令

1.创建一个名为 heroes 的新组件: ng (generate 或 g) component heroes

注:组件可以指定目录如: component/heroes

2.创建类似于vuex的服务如: ng g service services/common

用法:

1.app.module.ts里引入服务

//引入服务

import { StorageService } from './services/storage.service';

//引用http(可选,用就引入)

import { HttpClientModule } from '@angular/common/http';

//引入form(可选,用就引入)

import { FormsModule } from '@angular/forms';

@NgModule({

  ...

  imports: [

    FormsModule, //引入form (可选,用就引入)

    HttpClientModule //引入http (可选,用就引入)

  ],

  providers: [StorageService], //服务

})

2.直接抛出定义方法即可

import { HttpClient } from '@angular/common/http';

@Injectable({

  providedIn: 'root'

})

export class CommonService {

  public domain = "http://xxx.com/";

  constructor(public http: HttpClient) { } //引入http方法

  get(api: string) { //定义方法

    return new Promise((resolve, reject) => {

      //http用法

      this.http.get(this.domain + api).subscribe((response) => {

        resolve(response)

      })

    });

  }

}

3.引用页面用法

import { CommonService } from '../../services/common.service';

@Component({

  selector: 'app-home',

  templateUrl: './home.component.html',

  styleUrls: ['./home.component.scss']

})

export class HomeComponent implements OnInit {

  public list: any[] = [];

  constructor(public common: CommonService) {} //类初始化引用

  ngOnInit() {

    //调用

    this.common.get("api/productlist").then((response: any) => {

      this.list = response.result;

    })

  }

}

模块化开发设置自定义模块

命令:ng g module module/user (加 --routing 是给模块里建路由用,实现模块懒加载)

1.模块创建完需要暴露出去:在创建的模块module里的 

@NgMoule({

...

exports:[xx(模块名)]

})

注:模块里创建的模块除非exports里暴露出去的组件,否则组件没法在全局引用

2.在app.module.ts里引入模块先头部import {xx} from '路径' 引入在把名字加到 

@NgMoule({

...

imports:[xx(模块名)]

})

给模块里建组件:ng g component module/user/component/home

注:创建服务或其他也是: ng g service module/user/services/common

模块路由懒加载

命令:ng g module module/user --routing

1.app-routing里引入

const routes: Routes = [

  //模块懒加载

  { path: 'login', loadChildren: './module/login/login.module#LoginModule' },

  //设置没有路由默认值

  { path: '**', redirectTo: 'login' }

];

上一篇 下一篇

猜你喜欢

热点阅读