我现在有一个非常奇怪的问题。
我正在创建我的grunt cache-breaker使用的文件列表。我使用此powershell脚本生成文件列表:
$ScriptDir = Split-Path $script:MyInvocation.MyCommand.Path
$file = @{}
#GET HTML FILES
$Dir = get-childitem $ScriptDir\Helix -recurse
$file = $Dir | where {$_.extension -eq ".html" } | % {$_.FullName}
#END
$file | convertto-jSon | out-file $ScriptDir\htmlfiles.json这将生成一个包含以下内容的文件
[
"C:\\test\test1.html",
"C:\\test\test1.html",
"C:\\test\test1.html"
]我的Cache Breaker代码是:
module.exports = function(grunt) {
grunt.initConfig({
listOfHtmlPaths: grunt.file.readJSON('htmlfiles.json'),
cachebreaker: {
dev: {
options: {
match: ['.js', '.css', 'min.css'],
src:
{ path: 'Helix/**/*' }
},
files:
{ src: ['<%= listOfHtmlPaths %>'], }
},
},
});
grunt.loadNpmTasks('grunt-cache-breaker');
grunt.registerTask('default', ['cachebreaker']);
};在我运行powershell之后,我运行了Grunt,但是我得到了以下错误:
错误:无法解析"bustAFile.json“文件(意外的标记?)。
如果我将bustAFile.json的全部内容复制到一个新的记事本文件中,则不做任何更改,保存它。它起作用了。
是不是加了一些我看不见的奇怪的编码?
发布于 2017-02-16 18:42:39
强制powershell以ASCII编码输出修复了我的问题
$file | convertto-jSon -Compress | out-file $ScriptDir\bustAFile.json -encoding ascii在解析JSON时,Grunt似乎无法读取其他编码。
https://stackoverflow.com/questions/42271393
复制相似问题