Golang:bytes.Buffer超出最大缓冲区

时间:2015-03-09 05:08:19

标签: go minify

我尝试使用minify库来捆绑和缩小我的所有JavaScripts和CSS,最小代码:

js := bytes.Buffer{}
dat, err := ioutil.ReadFile(fname)
if L.Check(err, `File doesn't exists: `+fname) == nil {
  dat, err = min.MinifyBytes(`text/js`, dat)
  js.Write(dat) 
  js.WriteRune(';')
}

但是,在缩小ace.jsjquery.dataTables.js(> 400 KB)这个err="max buffer exceeded"问题时,该代码与bytes.Buffer失败了吗?以及如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

According to GoDoc.org,该错误实际上是由该作者从另一个包中抛出的。parse

doc评论说输入的大小不能超过4KB。你的图书馆看起来要大得多。

幸运的是,MaxBuf变量是从该包导出的..所以你应该能够在该代码之前放置这一行来修复那个特定的错误

parse.MaxBuf = parse.MaxBuf * 2