作为一个独立的组件,网页管理面板

4
现在我正在开发一个基于MVC的Web分析系统。在开发过程中,我想到了一个好主意,将Web管理面板提取到单独的程序集中,以便在我的其他项目中使用。这样,将来我只需引用该程序集,就不必担心布局Web面板的问题。
这个Web面板本身只是一个带有一些紧凑设计元素的标记。它包含主菜单、子菜单和一个用于放置其他需要元素的地方。
目前,我已经使用RazorGenerator获得了包含所有视图的程序集。
问题是如何管理这个程序集的CSS文件?我应该将它们嵌入到视图中,并将那些视图放置到编译的程序集中,还是将它们作为单独的CSS文件与程序集一起部署?
这些CSS捆绑包将被压缩/最小化或以任何方式组合在最终项目中。
2个回答

2
您可以将CSS和JS文件打包为资源,并使用资源处理程序进行服务,但如果出现设计异常(例如,您需要修改CSS类,因为它与另一个项目的主CSS冲突),则无法在未来的项目中编辑它们。
为什么不创建NuGet包?一些优点:
  • 您可以在zip文件中拥有所有内容(您无需发布包即可使用它)
  • 您可以直接从控制台添加项目
  • NuGet为管理区域的视图和控制器创建相应的文件夹结构
  • 如果您需要删除它,只需卸载它即可删除所有文件。
  • 此外,您可以灵活修改管理员的CSS和JS文件。
  • 这比在应用程序中具有处理路由并提供隐藏的打包文件的“黑盒子”DLL更容易。
以下是一些关于如何创建自己的NuGet包的教程:

1

这是一个可部署的程序集吗?例如,它会被添加到许多不同的系统中,在不同的位置使用,还是只在公司网络上使用?

如果您要部署该程序集,则可能希望将CSS编译为资源,并使用ASP.Net内置的资源处理程序来提供CSS。因此,您不依赖于任何其他内容,可以预先压缩/最小化CSS,主机服务器可以处理缓存。

如果是用于企业网络或您控制的服务器,则将CSS放在中央服务器上,并使它们都引用该位置。前面的方法在这里同样适用。


这是我在不同项目中使用此面板的方式,因此所有未来的项目都将在其界面中具有菜单和子菜单,因此我正在寻找一种减少代码重复的方法,将重复部分放入一个程序集中,并通过引用它在许多项目中使用。 - kseen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接