回文集目錄:JHipster一知半解
app根目錄
app目錄是一個相當(dāng)標(biāo)準(zhǔn)的angular工程根目錄癞谒,包含必須的ts文件
app.main.ts
使用platformBrowserDynamic啟動朱模塊JhipsterSampleApplicationNg2AppModule缕允。
app.module.ts
import './vendor.ts';
引入第三方css樣式著蛙,vendor.ts引入vendor.css,vendor.css引入boot-strap.css和font-awesome.css
import {
JhiMainComponent,
NavbarComponent,
FooterComponent,
ProfileService,
PageRibbonComponent,
ActiveMenuDirective,
ErrorComponent
} from './layouts';
layout目錄并非子模塊,而是主模塊直接使用的,因此需要引入其定義的component回右,service等。
@NgModule({
//引入其他子模塊
imports: [
BrowserModule, //angular 瀏覽器模塊漱挚,僅主模塊需要import
JhipsterSampleApplicationNg2AppRoutingModule, //引入路由模塊
Ng2Webstorage.forRoot({ prefix: 'jhi', separator: '-'}), //給存儲的cookie統(tǒng)一增加前綴翔烁,防止命名沖突
JhipsterSampleApplicationNg2SharedModule, //共享模塊
JhipsterSampleApplicationNg2HomeModule, //首頁模塊
JhipsterSampleApplicationNg2AdminModule, //管理員模塊
JhipsterSampleApplicationNg2AccountModule, //賬號管理模塊
JhipsterSampleApplicationNg2EntityModule, //實(shí)體模塊
// jhipster-needle-angular-add-module JHipster will add new module here
],
//主模塊自己的組件需要聲明(layout中的)
declarations: [
JhiMainComponent,
NavbarComponent,
ErrorComponent,
PageRibbonComponent,
ActiveMenuDirective,
FooterComponent
],
//主模塊自己的服務(wù)需要聲明(layout中的),根據(jù)注入器規(guī)則旨涝,這里聲明的service是整個工程都可以直接用的蹬屹。
providers: [
ProfileService,
//這里替換了angular的http,用了自己實(shí)現(xiàn)的customHttpProvider
customHttpProvider(),
PaginationConfig,
UserRouteAccessService
],
//聲明引導(dǎo)模塊(僅主模塊才有)
bootstrap: [ JhiMainComponent ]
})
export class JhipsterSampleApplicationNg2AppModule {}
TODO:加上angular模塊定義地址颊糜。
app-routing.module.ts(4.10還定義在layout里面,這里移出來了)
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
//具體的路由ROUTES還是定義在layout中的
import { errorRoute, navbarRoute } from './layouts';
const LAYOUT_ROUTES = [
navbarRoute,
...errorRoute
];
@NgModule({
imports: [
//根據(jù)layout中路由定義秃踩,初始化路由
//設(shè)置了使用hash衬鱼,url中就會出現(xiàn)“#”,這樣兼容性更好些憔杨,用戶有多少人會去看url呢鸟赫?
RouterModule.forRoot(LAYOUT_ROUTES, { useHash: true })
],
exports: [
//重新導(dǎo)出路由模塊給其他模塊用(forChild)
RouterModule
]
})
export class JhipsterSampleApplicationNg2AppRoutingModule {}
app.route.ts
在4.12.0版本中并沒有用到,和navbar.route.ts重復(fù)了消别,之后也要從layout目錄移出來抛蚤?
app.constants.ts
這里定義了一些全局變量,程序中會用到寻狂,實(shí)際上在運(yùn)行webpack時候岁经,會根據(jù)具體設(shè)定,替換這里的默認(rèn)值(也就是說這里并不需要改)蛇券、
參見webpack.common.js的StringReplacePlugin
polyfills.ts
兼容性因子(據(jù)說兼容IE9會有問題)缀壤,暫略