2017-04-26 2 views
0

Ich bin ein Electron-Anwendung erstellen und ich verwende webContents.executeJavaScipt(), die ziemlich viel ist ein Eval() für den Electron-Browser. Ich hatte nie ein Problem, bis wir das Projekt auf meine Kunden Windows-Computer setzen und das ist der Fehler:Pfad fehlt Schrägstriche in Eval von es6 Vorlage Zeichenfolge: Problem mit nur Windows umgehen

module.js:472 Uncaught Error: Cannot find module 'C:UsersMichael Bruce AllenDocumentsGitHubschedule-crawl 
enderer 
emoteItems.js' 
    at Module._resolveFilename (module.js:470:15) 
    at Function.Module._resolveFilename (C:\Users\Michael Bruce Allen\Documents\GitHub\schedule-crawl\node_modules\electron\dist\resources\electron.asar\common\reset-search-paths.js:35:12) 
    at Function.Module._load (module.js:418:25) 
    at Module.require (module.js:498:17) 
    at require (internal/module.js:20:19) 
    at <anonymous>:3:25 
    at EventEmitter.electron.ipcRenderer.on (C:\Users\Michael Bruce Allen\Documents\GitHub\schedule-crawl\node_modules\electron\dist\resources\electron.asar\renderer\init.js:52:28) 
    at emitMany (events.js:127:13) 
    at EventEmitter.emit (events.js:201:7) 

Für mich ist es wie eine Flucht Ausgabe mir scheint. Also brach ich dies so einfach wie möglich, und ich möchte wissen, was hier geschieht:

const path = require('path'); 

const projectPath = ` 
    console.log('${path.join(__dirname, "project_path")}'); 
`; 

eval(projectPath); 

ich auf WINDOWS erhalten: (eindeutig falsch)

C:UsersMichael Bruce AllenDocumentsGitHubsandboxproject

Unter Linux: (Sieht schön)

Antwort

0

Nun, es stellt sich heraus, dass Sie manchmal nur wissen müssen, welche Arten von Keywords verwendet werden, um Google zu suchen und Ihre Antwort zu finden.

Was geschah, war die Windows \ entkam Zeichen. Obwohl ich wusste, dass so etwas passierte, verstand ich nicht warum.

Es stellt sich heraus, dass this stackexchange post hat mir geholfen, die Antwort zu finden.

Das ist nicht so schön wie ich will, also werde ich mein aktuelles Projekt in eine andere Lösung umgestalten, die weniger hacky ist.

const path = require('path'); 

const projectPath = ` 
    console.log(${JSON.stringify(path.join(__dirname, "project_path"))}); 
`; 

eval(projectPath); 
Verwandte Themen