常见的静态资源(图像,js,css等)应该放在DotNetNuke中?

时间:2010-05-04 13:32:53

标签: image dotnetnuke dotnetnuke-5 static-resource

是否有建议的位置在DotNetNuke 5.x安装中存储静态资源(图像,css,js等)?

有/ images和/ js文件夹以及包含资源的/ Resources文件夹。由于MicrosoftAjax.js位于多个位置(但可能是不同的版本?),似乎存在一些重叠。我也可以将资源放在/ DesktopModule / ModuleX位置。

有没有人知道使用这些文件夹是否有区别?

我有点想到所有静态资源都在一个公共文件夹(/ Resources)下,所以我可以在一个地方设置缓存规则标题,权限等。

是否有人使用单独的图像服务器来提供DotNetNuke静态内容? Pros and Cons of a separate image server (e.g. images.mydomain.com)?

2 个答案:

答案 0 :(得分:4)

如果你拥有整个DNN安装,那么将所有资源整合到一个地方(无论是DNN使用的Resources文件夹,还是DNN不知道的其他文件夹)当然是有意义的。如果您正在开发一个将安装到您不完全拥有的网站上的模块,那么需要考虑的事情是将资源限制在模块的DesktopModules文件夹中。

有关DNN文件夹的一些注意事项:

  • 如果您在模块的文件夹下有内容,卸载该模块将为您提供删除该内容的选项。这可以帮助您保持清洁和有条理,或者如果您有多个模块定义共享相同的文件,它可能会很危险...(更危险的是卸载SQL脚本;确保您不会意外卸载一个附有卸载脚本的模块)
  • 您可以使用DNN文件管理器上传/删除/重命名Portals目录中的文件,因此如果站点管理员应该控制文件,将文件放在那里是有意义的
  • 将内容放在模块文件夹之外会使链接变得更加困难(特别是如果它位于特定于门户网站的文件夹上,即每次都必须向PortalSettings对象询问路径)
  • 将资源保留在模块文件夹之外并不常见,因此如果您将经验丰富的DNN开发人员带入项目中,可能会造成混淆

答案 1 :(得分:1)

对于外观和容器,您可以在Portals目录下使用自己的文件夹。正如bdukes所述,网站管理员可以通过这种方式在DNN中控制它们。

对于模块,我使用了模块的文件夹和module.css来获取可被皮肤或容器css覆盖的默认值。这是因为在module.css。

之后加载了皮肤和容器css