Ng2 应用初始化脚本v0.1

原创 2017年01月03日 23:32:47
#!/bin/sh
# author loch
# 应用初始化脚本
# sh init.sh appName

# 复制 template 内容到新建目录
# cp -r template src/$1
# 获取大写驼峰命名的模块名


upperLetter=$(echo ${1:0:1}|tr '[a-z]' '[A-Z]')

length=${#1}

otherLetter=${1:1:`expr $length - 1`}

UPPER=$upperLetter$otherLetter

# # 建好目录结构
mkdir src/$1
mkdir src/$1/font
mkdir src/$1/img
mkdir src/$1/service
mkdir src/$1/directive
mkdir src/$1/component
mkdir src/$1/component/demo

# 生成 html 文件
htmlTemplate="
<!DOCTYPE html>
<html>
  <head>
    <title>Angular QuickStart</title>
    <meta charset='UTF-8'>
    <meta name='viewport' content='width=device-width, initial-scale=1'>
    <!--<link rel='tylesheet' href='../../styles.css'-->

    <!-- Polyfill(s) for older browsers -->
    <!--AOT JIT 同时依赖文件-->
    <script src='../../node_modules/core-js/client/shim.min.js'></script>

    <script src='../../node_modules/zone.js/dist/zone.js'></script>

    <!--只有JIT 依赖文件-->
    <script src='../../node_modules/reflect-metadata/Reflect.js'></script>
    <script src='../../node_modules/systemjs/dist/system.src.js'></script>

    <script src='../../systemjs.config.js'></script>

    <script src='../../node_modules/jquery/dist/jquery.min.js'></script>
    <script>
      System.import('app').catch(function(err){ console.error(err); });
    </script>
  </head>

  <body>
    <my-app>Loading ${UPPER}Component content here ...</my-app>
  </body>
</html>
"
echo $htmlTemplate > src/$1/index.html

# 生成 main.ts 文件
mainTemplate="
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\n
import { ${UPPER}Module } from './${1}.module';\n\n
platformBrowserDynamic().bootstrapModule(${UPPER}Module);
"
echo $mainTemplate > src/$1/main.ts

# 生成 module 文件
moduleTemplate="
import { NgModule }      from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
/*Routing Module*/

import { ${UPPER}Component }  from './${1}.component';

@NgModule({
  imports:      [ 
      BrowserModule
    ],
  declarations: [ 
      ${UPPER}Component
    ],
  bootstrap:    [ ${UPPER}Component ]
})
export class ${UPPER}Module { }

"
echo $moduleTemplate > src/$1/${1}.module.ts

# 生成 routing 文件
routingTemplate="
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
/* Feature Component */

const routes: Routes = [
    { 
        path: '/', 
        component: ''
    }
];
@NgModule({
    imports: [RouterModule.forRoot(routes)],
    exports: [RouterModule]
})
export class ${UPPER}RoutingModule {}
"
# echo $routingTemplate > src/$1/${1}-routing.module.ts

# 生成 component 文件
componentTemplate="
import { Component } from '@angular/core';

declare var $: any;

@Component({
  moduleId: module.id,
  selector: 'my-app',
  templateUrl: '${1}.component.html',
  styleUrls: [
      '${1}.component.css'
  ]
})
export class ${UPPER}Component {}
"
echo $componentTemplate > src/$1/${1}.component.ts

# 生成 component html 文件
componentHTML="
<h1>${1} Template</h1>
"
echo $componentHTML > src/$1/${1}.component.html

# 生成 component css 文件
componentCSS="
html,body{padding:0px;margin:0px}
"
echo $componentCSS > src/$1/${1}.component.css

**

前行的路上,感谢您的鼓励!!

**

版权声明:本文为博主原创文章,未经博主允许不得转载。

Fiddler录制jmeter脚本--V4.4..0.1版本

圣诞节到了,圣诞老人送平安,我们送技术,我们知道以前jmeter的脚本来源有三个,手动书写、badboy录制、自带的录制功能(jmeter3.0该功能还比较好),目前我们又多了一个fiddler生成,...

JavaEE应用基础平台 AOS-V0.1 RELEASED

AOS应用基础平台基于JavaEE技术体系,以“标准功能可复用、通用模块可配置、行业需求快速开发、异构系统无缝集成”为目标,为软件开发团队提供高效可控、随需应变、快速实现业务需求的全栈式技术解决方案。...

JAVA小小的程序2之文件MD5值校验器V0.1

   上次写字符串MD5值计算器之后没多久写的。现在把代码贴上吧。  基本和前面的字符串MD5计算器一致,只对其作了小量修改。代码如下:界面及按钮相关功能:import javax.swing.*; ...

【cocos2D-x学习】6.简单游戏的框架——扫雷V0.1

【目标】为扫雷搭建简单的框架 【参考】 cocos2D-x  testCpp工程 《cocos2D-x权威指南》 一、搭建框架         扫雷的场景很简单,游戏界面只有一个。在MS的...

脚本娃娃(Ext4.1.0 Doc V0.1 Beta)

  • 2012年07月04日 19:41
  • 15.07MB
  • 下载

Flume学习2_Flume NG简介、配置实战、技术架构应用和可能遇到的问题

目录[-] 1、Flume 的一些核心概念: 1.1 数据流模型 1.2 高可靠性 1.3 可恢复性 2、Flume 整体架构介绍 2.1 Exec source 2.2 Spooling Dir...

NET2FTP_V0.1

  • 2010年01月09日 11:07
  • 59KB
  • 下载

KitchenSync v2[1].0.1

  • 2010年12月23日 11:13
  • 221KB
  • 下载

【斯坦福公开课-机器学习】2.监督学习应用-梯度下降(吴恩达 Andrew Ng)

线性回归linear regression 梯度下降gradient descent 正规方程组the normal equations 线性代数linear algebra 符号Notation 例...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Ng2 应用初始化脚本v0.1
举报原因:
原因补充:

(最多只允许输入30个字)