파일 시스템을 결정하는 직접적인 좋은 방법은 대소 문자를 구별하지 않으며 모든 OS에서 실제 경로를 얻는 것이 아닙니다.
예 : '/ proc/self/fd/[fd]'는 Linux에서만 사용 가능합니다.
그러나 모든 OS에서이를 수행하는 어리석은 방법이 있습니다. 여기
compelete 소스 코드 : https://gist.github.com/snowyu/bdc39a93d25503333991는
다음 커피 스크립트 코드는 단지 원칙 보여주는 것입니다 :
folderIsInsensitive = (aFolder)->
t = tmp.fileSync template:'./_tmp-XXXXXXXXX'
result = fs.existsSync t.name.toUpperCase()
t.removeCallback()
return result
getRealPathForInsensitive = (aPath)->
result = ''
while aPath and aPath != path.sep
basename = path.basename(aPath).toLowerCase()
aPath = path.dirname aPath
dirs = fs.readdirSync aPath
for dir in dirs
if dir.toLowerCase() is basename
result = path.join dir, result
break
return result
창은 늘 중요하므로 대소 문자를 구분합니다. 다른 어떤 Os에서는 정확한 이름을 얻을 수있다 –
나는 왜 당신이 소문자 버전을 실행하고 있는지 혼란 스럽다. 대문자를 실행하면 odes는 소문자로도 해석합니까? – loganfsmyth
@loganfsmyth, 아니요, 대문자를 실행하면 정상적으로 작동합니다. – 3y3