关于性能优化和部署上线部分的疑惑


#1

最近在看第13,14章的时候,因为没有实际的经验,有些地方不是太能理解.

  1. 使用Flask-Assets优化静态资源的部分,使用CDN和使用Flask-Assets两者是选其中一个方式么?也就是可以用CDN的用CDN,自己写的JS或不能用CDN的我整合起来?
  2. 第一版P559注意和提示里写到

某些依赖本地静态文件的Javascript或CSS文件不能直接打包

这具体是指哪种文件啊?

在使用Flask-CKEditor和Flask-Dropzone拓展时,因为对应的资源不是全局依赖,只需在特定的页面才需要,所以没有必要打包进这里的资源集。

这段话怎么理解啊?资源集中不是有“js/dropzone.min.js”文件吗?

3.关于部署中Circle CI之类的服务和Heroku之类的服务之间是什么关系啊?
是不是我提交代码到github,然后通过Circle CI服务进行单元测试、代码质量检查、测试覆盖率等等,通过后才会真正merge到master分支,master分支变化之后触发自动部署到Heroku之类的云平台么?
另外Heroku的角色是不是和AWS, Azure之类的云服务一样呢?


#2

问题超纲了:rofl::rofl::rofl:先回答我会的吧。

在使用Flask-CKEditor和Flask-Dropzone拓展时,因为对应的资源不是全局依赖,只需在特定的页面才需要,所以没有必要打包进这里的资源集。

比如Bootsharp资源文件是全局依赖的,整个网站都是Bootstrap风格,所以打包进去没问题。而Flask-CKEditor和Flask-Dropzone,一个是富文本编辑,一个是文件上传,只有在对应的文本编辑页面和文件上传页面才需要加载这些资源,所以就没必要打包进集合,也就是没必要每个页面都加载这个资源——我就只是浏览下网页,不编辑不上传文件,为什么要加载这些多余的资源呢。


#3

哦哦!!那我看书中代码 资源集里有js/dropzone.min.js 是为什么呀:rofl::rofl::rofl: