.NetCore 下開發獨立的(RPL)含有界面的組件包 (一)準備工做 css
.NetCore 下開發獨立的(RPL)含有界面的組件包 (二)擴展中間件及服 務html
.NetCore 下開發獨立的(RPL)含有界面的組件包 (三)構建界面 app
.NetCore 下開發獨立的(RPL)含有界面的組件包 (四)受權過濾 async
.NetCore 下開發獨立的(RPL)含有界面的組件包 (五)受權過濾參數處 理ide
.NetCore 下開發獨立的(RPL)含有界面的組件包 (六)實現業務功能 工具
在前面的基礎上咱們來添加引入咱們的視圖以及資源文件,Resource 用來放咱們的資源文件 js css等,Views用來放咱們的視圖cshtml頁面,這裏須要注意的是 這個採用razorview來編譯的視圖文件夾的名稱必須爲 Viewsspa
我準備了下載了一套後臺管理的界面並添加進去了code
這個時候就須要用到咱們的DotNetCliTool工具了htm
使用命令操做 生成 視圖對應的頁面類中間件
dotnet razorpagegenerator IdentityServer4.AdminChina
這個類是根據cshtml頁面內容生成的 ,在前面的基礎上,來改一改中間件的處理方式,修改下中間件的方法,來處理HomeIndex頁面類視圖
public async Task Invoke(HttpContext context) { string routeUrl = context.Request.Path; if (routeUrl.Equals(_options.PathRoute)) { var view = new HomeIndex(); await view.ExecuteAsync(context); } else { await _next(context); } }
固然這樣作仍是不行的,資源文件的路徑問題尚未處理,這裏須要對嵌入的資源文件處理,這裏需擴展的UseAdminChina作一些處理,關於文件路徑這塊能夠參考UseStaticFiles、FileServerExtensions相關
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/file-providers?view=aspnetcore-2.1
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/static-files?view=aspnetcore-2.1&tabs=aspnetcore2x
var dllPath = Path.Combine(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location), "IdentityServer4.AdminChina.dll"); app.UseFileServer(new FileServerOptions { FileProvider = new ManifestEmbeddedFileProvider(Assembly.LoadFrom(dllPath), "Resource"), });
由於前面我已經配置過類庫的工程文件了,因此這裏就不說了
直接運行看效果
到這裏咱們的一個頁面就基本成型了,類庫中的資源文件也已經加載出來了小圖標、js效果等,固然這仍是不夠,咱們還須要更多的功能,好比添加自定義的權限過濾,就想hangfire同樣,後面繼續來講