Angular Starter Kit —— Angular 2.0 迁移准备工具 (TypeScript)

jopen 3年前

angular-next-starter-kit 是使用 Angular 1.x 开发的应用准备迁移到 Angular 2.0 的种子项目。

Angular 2.0 引入了一些新概念和设计模式,但是 Angular 2.0 还有几个月才能在生产环境使用。为了能让 Angular 1.x 开发的应用使用 Angular 2.0 的概念和一些技术,就有了 angular-next-starter-kit。

此项目的目标是:

  • 专注于应用逻辑:

    • 创建一个 service 来获取数据

    • 创建一个 component 来使用数据

    • 使用更小的组件来 Compose 更大的组件

开发者 不需要 担心:

  • 配置 build system

  • 配置 unit tests , end-to-end tests , code coverage

  • 提供 static analysis 和配置 typescript

  • 自动生成 documentation

特性

  • Complete scaffolding with Angular 1.4.x

  • Typescript 集成

  • Webpack 绑定系统,多个加载器 (sass, html, typescript)

  • Gulp 集成 (currently only one task to provide auto documentation)

  • Karma 集成 Mocha, Chai,多个浏览器启动器 (Chrome, PhantomJS) 和代码覆盖

  • Interfaces 和 APIs 可以创建可测试和可复用组件

  • 各种服务接口

    • Http Service

    • Socket Service using Socket IO

    • SOAP Service using soap client

    • Buffer Service using ProtobufJS

框架

  • Angular 1.4.x

  • Bootstrap (sass) 3.3.6

  • Socket IO Client 1.3.7

  • Typescript v1.7.5

目录结构:

|-- app                         | Root directory for the application  |  |---- common                    | All modules common to the application  |------ bindingTypes.ts         | Module containing Angular binding types  |------ component.ts            | Interface for a BaseComponent  |------ service.ts              | Interfaces for HttpService, SocketService, SoapService and BufferService  |  |---- components                | Root directory for all the components. Any component should go in here  |------ dropdown                | Sample implementation of a component  |-------- dropdown.html         | Template file for the component using Angular's template syntax  |-------- dropdown.scss         | Scoped styles for the component. This can now just be `required` in  |-------- dropdown.spec.ts      | Unit test spec file for the component. This should be local to the component  |-------- dropdown.ts           | Implementation of the component itself  |  |---- core                      | Utility modules that bootstrap the application  |------ bootstrap.ts            | Loads in all the other utility modules and bootstrap's Angular  |------ components.ts           | Holds references to all the components  |------ modules.ts              | Registers all the modules  |------ services.ts             | Holds references to all the services  |------ tests.ts                | Imports all the necessary modules needed for testing  |  |---- services  |------ stock-service.ts        | Reference implementation of an HttpService using JSONP  |  |---- utilities                 | Any utilities used across the application  |  |---- app.d.ts                  | Typescript definition file for the application  |---- index.html                | Main html file for the application  |---- index.scss                | Main css file for the application  |  |-- build                       | Contains the bundled application  |-- docs                        | Contains all auto generated documentation   |-- fonts                       | Contains application wide fonts  |-- images                      | Contains application wide images  |-- gulpfile                    | Gulp task file. Currently only one task to generate documentation is provided  |-- karma.conf.js               | Configuration file for the karma test runner  |-- package.json                | Contains NPM dependencies and application commands  |-- tsconfig.json               | Typescript compiler configuration  |-- tsd.json                    | Contains references to definitely typed libraries  |-- tslint.json                 | Configuration used by the tslint-loader   |-- webpack.config.js           | Webpack's global configuration file

来自: http://www.oschina.net/p/angular-next-starter-kit?fromerr=EDBwOsTC