Compass 如何同时监视多个项目?
项目目录如下
- full_project
| - app_1
| |-- css
| |-- img
| `-- sass
|
| - app_2
| |-- css
| |-- img
| `-- sass
| - app_3
` ...
理论上,每个 app 都配置一个 config.rb,每次要跑的话就启动 n 个 compass watch
进程。如此一来非常麻烦,有没有更好的解决方法呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这要取决于你这几个 app 的样式能否合并成一个文件统一加载?
如果可以,那么可以在
full_project
下配置 config.rb,别忘了用上import_path
选项,然后 创建一个统一的入口,比如application.scss
,这样就可以在其中统一引入各 app 的样式,如:于是,你只需要 watch application.css 就好了。
不过这样一来,你其他的静态资源,比如字体,以及样式里需要引用的图片等等就必须统一放置,因为只有一个 config.rb 可用。然而你的确应该这样,因为归根结底
full_project
才是完整的统一的应用(对吧?),所有的静态资源应该统一在一起,将来你 CDN 也方便呀。分模块只分业务逻辑就好了,静态资源最好还是统一管理,哪怕你先统一在一起,然后分割子目录也行呀。如果没办法更改资源路径了,那么就只好借助外部工具了。比如 Grunt 就可以,配置好多个子任务(路径可以完全分离),只需要运行一次,Grunt 会自动监视变化的目标来运行对应的子任务,实现单一入口的多任务调度。当然,Grunt 并非唯一之选,你很熟 Ruby 的话,Rake 也非常合适。