是否有建议将静态资源(图像,CSS,JS等)存储在Dotnetnuke 5.X安装中?

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

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

我有点喜欢所有静态资源都在公共文件夹(/资源)下的想法,因此我可以在一个地方将缓存规则标题,权限等设置为一个地方。

是否有人使用单独的图像服务器为dotnetnuke静态内容提供服务?单独的图像服务器(例如Images.mydomain.com)的优点?

有帮助吗?

解决方案

如果您拥有整个DNN安装,那么将您的所有资源整合到一个地方肯定是有意义的(无论是DNN使用的资源文件夹,还是DNN不知道的其他文件夹)。如果您要开发一个将安装在您不完全拥有的站点上的模块,那么要做的事情是将您的资源限制为模块中的台式模块文件夹中的资源。

关于DNN文件夹的一些事情要考虑:

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

其他提示

对于皮肤和容器,您可以在门户目录下使用自己的文件夹。作为 bdukes 说,这种方式站点管理员可以在DNN中控制它们。

对于模块,我已经使用了模块的文件夹和模块。CSS用于可以被皮肤或容器CSS覆盖的默认值。之所以起作用,是因为皮肤和容器CS在模块后加载。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top