使用Grunt将JS文件编码更改为UTF-8签名

时间:2013-06-13 15:56:57

标签: javascript encoding windows-8 utf-8 gruntjs

我正在研究Win8 JS应用程序的构建脚本,并寻找一种方法来自动编码带有签名的UTF-8文件,以便编译后的项目将通过WACK测试。我在Grunt文档中注意到以下选项:

grunt.file.defaultEncoding = 'utf8';

但不确定实际设置编码的内容。有什么建议吗?

在Visual Studio中,您只需打开文件,单击另存为,然后选择带有签名的UTF-8,该签名位于顶部第二位。如果您的应用程序包含大量JS文件,尤其是在构建过程中生成的文件,那么这非常耗时。

2 个答案:

答案 0 :(得分:2)

从Grunt版本0.4.2开始,您现在可以在编写文件时坚持BOM:

grunt.file.preserveBOM = true;

还有其他Windows改进。 It has been added to the documentation as well.

我发现bug解释了您遇到的同样问题,而changelog表示现在应该修复它。

答案 1 :(得分:2)

现在有一项艰巨的任务可以为您的文件添加BOM:grunt-byte-order-mark。我刚刚使用它,我的应用程序现在通过了Windows App Certification Kit测试。

https://www.npmjs.com/package/grunt-byte-order-mark