解决ClouseBuild 编码问题
使用:
closure-library/closure/bin/build/closurebuilder.py --root=closure-library --root=myproject --namespace="myproject.start"
进行JS构建时发生如下错误:
可能是closurepython中的python文件在扫描读取js文件过程中存在编码问题。
(1)需要修改 source.py和depswriter.py。在source.py中找到fileobj = open(path)这一行(接近文件末尾处),将其替换为fileobj = open(path, encoding=’utf-8’)。然后在depswriter.py中找到paths = source_map.keys()这一行,将其替换为paths = list(source_map.keys())。
但是使用UTF-8编码会导致其他一些地方的错误。在发生编码错误的地方需要使用decode('utf-8')来解码某些字符串。
(2)查找出是哪一个文件的编码有错误,使用EditPlus等工具修改其编码为ANSI。有点麻烦,可以解决上述错误但不知道会不会引发其他错误。