[英]electron can't get current file path
我正在用electron
編寫一個桌面應用程序並進行react
。 我在項目中使用create-react-app
,然后先運行npm run start
以在http://localhost:3000
上運行我的應用程序,然后在electron
的index.js
中運行:
win.loadURL(url.format({
pathname: process.env.NODE_ENV === "development" ?
"localhost:3000":path.join(__dirname, 'build/index.html'),
protocol: 'http:',
slashes: true
}));
}
您會看到,在開發時,我想使用webpack-dev-server
來重新加載組件,以便electron
運行webpack-dev-server
擁有的在線內容。 一切似乎都正常,但是當我使用fs
讀取本地文件時,如下所示:
// /src/components/SideBar.js
fs.readFile(path.join(__dirname,'./src/actions/index.js'),(err,data)=>{
if(err){
throw err;
return;
}
// ...
})
出現找不到文件的錯誤,我試圖提醒結果路徑:
alert(path.join(__dirname,'./test.txt'))
它表明路徑是/test.txt
,但真正的路徑是/project/src/test.txt
。 我發現:
alert(__filename);
在任何文件中,它始終是/index.js
。
我很混亂。
作為__dirname的替代方法,可以使用節點進程模塊。 我剛剛確認,對於我的電子項目,這將返回源代碼根文件夾的完整路徑:
import process from 'process';
console.log(`path: ${process.cwd()});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.