AICon 上海站|90%日程已就绪,解锁Al未来! 了解详情
写点什么

Angular CLI 帮助开发者快速创建 Angular 2 项目和组件

  • 2016-05-19
  • 本文字数:892 字

    阅读完需:约 3 分钟

在 ng-conf 2016 的一场演讲中,Mike Brocchi 向开发者详细展示了 Angular CLI (全称 Command Line Interface)及其功能。他说,在自己采访过的开发者中,有 26% 的人称 Angular 2 环境设置是一大入门门槛,有 22% 的人说环境设置太过复杂。Angular CLI 的诞生,正是为了解决这个问题。

为了降低创建项目所需的时间,Angular CLI 提供了许多特性让开发者“快速上手”:

  • ng new project-name - 创建一个新项目,置为默认设置
  • ng build - 构建 / 编译应用
  • ng test - 运行单元测试
  • ng e2e - 运行端到端(end-to-end)测试
  • ng serve - 启动一个小型 web 服务器,用于托管应用
  • ng deploy - 即开即用,部署到 Github Pages 或者 Firebase

执行这些步骤所需要的全部设置,都由 CLI 工具来完成。

除了设置一个新应用之外,该工具还支持开发者运行命令,构建应用的组成部分,如组件(Component)和路由(Route)。

ng generate component my-comp - 生成一个新组件,同时生成其测试规格和相应的 HTML/CSS 文件

  • ng generate directive my-directive - 生成一个新指令
  • ng generate pipe my-pipe - 生成一个新管道
  • ng generate service my-service - 生成一个新服务
  • ng generate route my-route - 生成一个新路由
  • ng generate class my-class - 生成一个简易的模型类

对于每个生成命令,所产生的文件会根据官方 Angular 样式指南的规定,放置在正确的位置。

可惜的是,这个工具只适用于 Angular 2,不适用于 1.x 版本。该工具现在处于 Beta 阶段,开发团队希望将来添加离线模板编译、延迟加载路由和可扩展性。

这个工具背后的创意并不新。在 Angular 的世界,Platypi 框架使用一个叫做 PlatypusCLI 的命令行工具,来创建应用组件,如模型和服务。非 Angular 的项目 Ember 也有着自己的 Ember CLI ,协助开发者完成诸如运行测试、编译资源等任务。

Brocchi 演讲的完整视频可在YouTube 上观看。

查看英文原文 Angular CLI Helps Spin Up Angular 2 Projects and Components


感谢张龙对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016-05-19 19:007300

评论

发布
暂无评论
发现更多内容

中台的细节

卢卡多多

中台 6月月更

远程办公-如何提高开会效率?| 社区征文

石云升

远程办公 开会 会议 6月月更 初夏征文

InfoQ 极客传媒 15 周年庆征文| 手把手带你入门 API 开发

宇宙之一粟

flask-restful 6月月更 InfoQ极客传媒15周年庆 API开发

读《Software Systems Architecture》(22)—— The Operational Viewpoint

术子米德

架构师成长笔记

flutter系列之:Material中的3D组件Card

程序那些事

flutter 程序那些事 6月月更

莫把功能当能力!从企业架构视角看警察在火锅店站岗

涛哥 数字产品和业务架构

企业架构

字符串

Jason199

js 字符串 6月月更

读《Software Systems Architecture》(26)—— The Performance and Scalability Perspective

术子米德

架构师成长笔记

读《Software Systems Architecture》(27)—— The Availability and Resilience Perspective

术子米德

架构师成长笔记

python停车时间计算,时分秒计算(split()函数)

写代码两年半

Python 6月月更

JVM调优简要思想及简单案例-JVM是什么?

zarmnosaj

6月月更

测试开发【Mock平台】04实战:前后端项目初始化与登录鉴权实现

MegaQi

测试平台开发教程 测试干货 6月月更

读《Software Systems Architecture》(28)—— The Evolution Perspective

术子米德

架构师成长笔记

[数据分析实践]-文本分析-U.S. Patent Phrase-1

浩波的笔记

数据分析

【协程】LifecycleScope源码解析

yechaoa

android 协程 6月月更 LifecycleScope

Paper Reading 预告 | Volcano-An Extensible and Parallel Query Evaluation System(众神推荐的 Paper 下载合集)

TiDB 社区干货传送门

TiDB Paper Reading

读《Software Systems Architecture》(20)—— The Development Viewpoint

术子米德

架构师成长笔记

读《Software Systems Architecture》(24)—— Introduction to the Perspective Catalog

术子米德

架构师成长笔记

gogs使用webhook部署react单页应用

Nick

ci 持续集成 React 6月月更 gogs

InfoQ 极客传媒 15 周年庆征文|漫谈公网网络延迟

耳东@Erdong

运维 6月月更 InfoQ极客传媒15周年庆 网络延迟

spring4.1.8扩展实战之五:改变bean的定义(BeanFactoryPostProcessor接口)

程序员欣宸

Java spring Spring Framework 6月月更

读《Software Systems Architecture》(21)—— The Deployment Viewpoint

术子米德

架构师成长笔记

c语言选择,循环语句概述

工程师日月

6月月更

读《Software Systems Architecture》(25)—— The Security Perspective

术子米德

架构师成长笔记

在线JSON转TSV工具

入门小站

工具

读《Software Systems Architecture》(23)—— Archiving Consistency Across Views

术子米德

架构师成长笔记

Java Core 「8」字节码增强技术

Samson

学习笔记 Java core 6月月更

CentOS环境基于nginx搭建负载均衡

乌龟哥哥

6月月更

【愚公系列】2022年06月 通用职责分配原则(三)-低耦合原则

愚公搬代码

6月月更

Java中检查字符串是否是有效日期

okokabcd

Java

力扣每日一练之二维数组上篇Day4

京与旧铺

6月月更

Angular CLI 帮助开发者快速创建Angular 2项目和组件_JavaScript_David Iffland_InfoQ精选文章