scrat-team / scrat

Webapp Modular Framework
http://scrat-team.github.io/
773 stars 147 forks source link

设置fis.config.set('framework.combo', false)后使用scrat release -opmd构建后combo还是为true #67

Closed ahaiboa closed 8 years ago

atian25 commented 8 years ago

我印象中是关不了的.

https://github.com/scrat-team/scrat/blob/master/plugins%2Fprepackager%2Fframework-conf.js#L89

ahaiboa commented 8 years ago

fis.config.set('framework.cache', false); fis.config.set('framework.combo', false); 这两个都是设置了的 scrat版本:v0.5.16

xiaokaike commented 8 years ago

@ahaiboa 不好意思,我刚刚看错以为是关闭 loacalStorage 缓存,如 @atian25 所说,combo是不能通过fis.config关闭的。 如果你要关闭,可以这样设置

    require.config(__FRAMEWORK_CONFIG__);

    require.config({combo: false});

在页面的 require.config(__FRAMEWORK_CONFIG__); 后面添加 require.config({combo: false});

ahaiboa commented 8 years ago

@xiaokaike 就是在构建后再覆盖?嗯,可以达到目的,但我以为按提供的设置模式去走要好一些,因为有的地方就是想只打包压缩,不一定按combo服务模式走,希望从根本上提供!!

xiaokaike commented 8 years ago

@ahaiboa

scrat release -omd

不添加 -p 即可关闭combo

ahaiboa commented 8 years ago

@xiaokaike 但是 “--pack:是否开启csssprite、combo合并” csssprite图片合并等还能应用吗

atian25 commented 8 years ago

建议用 require.config({combo: false}); 的方式解决先. 这个场景比较少.

hinc commented 8 years ago

framework.combo 不是一项对外开放的构建时配置,而是一项运行时配置。构建工具在设置了 -p 参数时,语义上我们认为用户是希望开启一切打包优化的,应该很少有场景在构建时用户希望开启其他打包优化,唯独希望关闭 combo。

我们提供了两个方案在运行时关闭 combo:

此外,Scrat Webapp 模式在设计之初就是强依赖 combo 服务的,没有考虑 all-in-one 打包的使用场景,也没有在 all-in-one 打包的场景下测试过,所以不鼓励这样使用。