ng-static-site-generator adalah alat untuk membangun aplikasi Angular dan entri blog ke situs web html dan css statis. Membangun aplikasi klien untuk mendukung fungsionalitas dinamis di browser juga didukung.
Ada proyek awal yang tersedia. Lihat kevinphelps/kevinphelps.me untuk contoh lainnya.
firebase serve adalah alternatif yang baik.) Kloning proyek awal untuk memulai dengan cepat!
yarn add [--exact] ng-static-site-generator atau npm install --save-dev [--save-exact] ng-static-site-generator
peerDependencies berikut diperlukan:
{
"dependencies" : {
"@angular/animations" : " >4.0.0 " ,
"@angular/common" : " >4.0.0 " ,
"@angular/core" : " >4.0.0 " ,
"@angular/http" : " >4.0.0 " ,
"@angular/platform-browser" : " >4.0.0 " ,
"@angular/platform-server" : " >4.0.0 " ,
"@angular/router" : " >4.0.0 " ,
"reflect-metadata" : " >0.1.0 " ,
"rxjs" : " >5.0.0 " ,
"typescript" : " >2.3.0 " ,
"zone.js" : " >0.8.0 "
}
}ng-static-site-generator build : Membangun situs statis.ng-static-site-generator build --prod : Membangun situs statis untuk produksi (kompilasi AOT, minify js dan html).ng-static-site-generator watch : Membangun situs statis dan membangun kembali setelah perubahan. ng-static-static-generator dikonfigurasi melalui file bernama ng-static-static-generator.json di root proyek.
{
"distPath" : "./dist" , // This is where the site will be generated.
"blogPath" : "./src/blog" , // This is the folder where your blog entries are located.
"stylesPath" : "./src/styles.scss" , // This is the file that contains your global styles.
"templatePath" : "./src/index.html" , // This is your template html file. This is passed to HtmlWebpackPlugin.
"appModule" : "./src/app/app.module#AppModule" , // This is the path and class name of your AppModule.
"appRoutes" : "./src/app/app-routing.module#routes" , // This is the path and export name or your routes.
"appComponent" : "./src/app/app.component#AppComponent" , // This is the path and name or your root component.
// Options for building an optional client app.
"mainPath" : "./src/main.ts" , // This is the file that contains the browser bootstrap code.
"polyfillsPath" : "./src/polyfills.ts" // Include this is you need a polyfills bundle.
} ng-static-static-generator memperlihatkan fungsionalitas melalui NgStaticSiteGeneratorModule .
// app.module.ts
import { ModuleOptions , NgStaticSiteGeneratorModule } from 'ng-static-site-generator' ;
const ngStaticSiteGeneratorModuleOptions : ModuleOptions = {
openExternalLinksInNewTab : false // Automatically add target="_blank" to external links. Default false.
} ;
@ NgModule ( {
imports : [
...
NgStaticSiteGeneratorModule . forRoot ( ngStaticSiteGeneratorModuleOptions )
] ,
...
} )
export class AppModule { }
// my-component.component.ts
import { BlogService } from 'ng-static-site-generator' ;
@ Component ( {
selector : 'app-my-component' ,
templateUrl : './my-component.component.html' ,
styleUrls : [ './my-component.component.scss' ]
} )
export class MyComponent {
constructor ( private blogService : BlogService ) { }
} ng-static-site-generator menggunakan file bergaya jekyll untuk entri blog. File ditempatkan di folder blogPath yang ditentukan dalam ng-static-static-generator.json . (Catatan: Folder bertumpuk dalam jalur blog belum didukung.)
YYYY-MM-DD-url-slug.html atau YYYY-MM-DD-url-slug.md (misalnya 2017-06-26-this-is-a-blog-entry.html )--- . Segala sesuatu setelah yang kedua --- adalah konten isi yang ditulis dalam html atau penurunan harga.Contoh:
---
title : This is the Title of the Blog Entry
description : This is a short description of the blog entry.
customProperty : This is a custom property. (Optional, of course.)
---
##This is the Title of the Blog Entry
This is the content of the blog entry.
< p >You can also write content in html if you want.</ p >