方案1:
style
模块功能1
style
js
images
......
模块功能2
style
js
images
.......
js
jquery
ext
.......
方案2(也是微软默认创建的模板中提供的格式):
Content
themes --指的是jquery皮肤
common --公共样式
模块1
index.css
login.css
....
模块2
default.css
navbar.css
模块n
.....
default.css
Scripts
jquery
ext
common
公共js
模块1
navbar.js
....js
模块2
.....
Images
common
模块1
...jpg
test.gif
模块2
....
这两种方案是我目前需要选择的,方案1是公司美工弄的(我想换成方案2),因为方案2可扩展性更强,方案1代码都整合在一起很难分离。
想听听大家的意见,或都是不是还有更好的方案?
把模块做成单个项目,采用插件化。这样完全就没有你遇到的问题了。当然,复杂度就上去了。其实,个人比较推荐方案一,保持模块的独立性。
所有东西都放一块?但是模块1和模块2之间肯定有一些样式和js是需要公用的,怎么处理?
还有asp.net把这些模块做成一个项目,如何处理?不同的站点之间有跨域问题,不知道怎么弄才好。。
@paaple: 既然是公用的,那就不属于模块样式。js既然是公用的,那么也应该提取到框架上。 至于做成项目,不是让你单独发布,而是解决方案的独立项目,模块化你可以看看:orchard的实现。
@幻天芒: 有示例么,能看看你们项目的开发结构么?orcard估计要让美工去适应很难。
@paaple: 所以,我说了这种复杂度高嘛。。。个人推荐方案一。
framework
js
css
vendor
...
modules
mod1
mod2
mod3
mod4
我的是html项目,可能不太一样。
@幻天芒: 我说的公用的,其实我也有封装,比如用户控件这些是放在单独工程里的,而且我们一个网站系统,分了几个子站点,后台管理一个站点,前台网站系统一个站点,还有另外的一个站点,但是在单独的一个站点中的样式也要分相对独立的模块,据你说的mod1下面还有css和js,images,那是不是你所有的前台页面也放里面呢?包括mvc等,一个mod就算是一个站点了?
@paaple: mvc的标准模块化方式其实是用自带的Area来处理的。我的由于只是前端项目,没有那么多Views/Controller的约束,所以mod1中包含这个模块需要的所有东西:images、css、js、html等。