简体   繁体   中英

Path separator for Atom / JavaScript on Windows

I have developed an Atom package which calls SyncTeX (a utility for reverse lookup for LaTeX), and then opens in Atom the file specified in the SyncTeX response. I'm developing on Linux, but now a user on Windows tells me that this doesn't work.

In detail: SyncTeX returns a pathname like C:\\data\\tex\\main.tex , with Windows-appropriate backslash separators. My package then calls atom.workspace.open with exactly that returned string, which leads to a JavaScript error (file not found).

Strangely, if the string is modified to use forward slashes instead, C:/data/tex/main.tex , the call works and the file is opened.

My questions:

  1. Is this behavior specific to Atom, or to some underlying technology (JavaScript, Electron, Node, ...)? I was unable to find any documentation on this.

  2. Since the replacement \\/ is apparently necessary, is there a preferred way to implement it? Would a simple String.replace be adequate?

  3. Do I risk breaking compatibility with other platforms if I always do the replacement?

根据我最好的知识路径,带正斜杠“/”的路径在除 Windows XP 之外的任何地方都能很好地工作。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM