• 开发一个带UI的库(asp.net core 3.0)


    在GitHub上有个项目,本来是作为自己研究学习.net core的Demo,没想到很多同学在看,还给了很多星,所以觉得应该升成3.0,整理一下,写成博分享给学习.net core的同学们。

    项目名称:Asp.NetCoreExperiment

    项目地址:https://github.com/axzxs2001/Asp.NetCoreExperiment

    当你想用asp.net core做一个三方库,不但有api实现功能,还希望能用UI来展现或设置你的功能时,这个blog或许对你有用。

    用Demo说话,源码GiuHub库:https://github.com/axzxs2001/Asp.NetCoreExperiment/tree/master/Asp.NetCoreExperiment/EmbeddedResources

    创建两(或三个)个项目

    一个是asp.net core web mvc项目(也可打包,发布到nuget上,供他人使用):

    1、就是带UI的库,因为作为一个库项目,所以这个项目的Program.cs和Starup.cs就没有作用了,其实只留 下Controller和Views就好了

    2、wwwroot中的前端资源(js,css)还是需要存在的(只保留项目中View用到的前端资源文件就可以),再把view中引用的前端资源的路径加上wwwroot

    3、同时项目“输出类型”改为“类库”,接下来,把views中的文件,wwwroot中的文件的属性从“内容”改成“嵌入的资源”;

    4、同时对Controller中的Action使用对应的HttpGet,HttpPost,HttpPut,HttpDelete等请求谓词和准确的请求url

     

    另一个项目是API或Web MVC项目,只需要Startup.cs中引入

     1        public void ConfigureServices(IServiceCollection services)
     2         {
     3             services.AddControllersWithViews().AddRazorRuntimeCompilation(option =>
     4             {
     5                 option.FileProviders.Add(new EmbeddedFileProvider(typeof(EmbeddedResourcesPage.Controllers.PageController).GetTypeInfo().Assembly));
     6             });
     7         }
     8         public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
     9         {         
    10             app.UseStaticFiles(new StaticFileOptions
    11             {
    12                 FileProvider = new EmbeddedFileProvider(typeof(EmbeddedResourcesPage.Controllers.PageController).GetTypeInfo().Assembly)
    13             });
    14 ……
    15         }
  • 相关阅读:
    自定义 alert 弹窗
    js控制div内的滚动条的位置
    vue 的 起手式
    d3.js封装文本实现自动换行和旋转平移等功能
    redux
    mui 本地打包
    vue-router 运行机制 及 底层原理
    替代 Navigator 组件
    react-native 创建 ios 项目
    三元运算符
  • 原文地址:https://www.cnblogs.com/axzxs2001/p/11673945.html
Copyright © 2020-2023  润新知