簡體   English   中英

電子無法獲取當前文件路徑

[英]electron can't get current file path

我正在用electron編寫一個桌面應用程序並進行react 我在項目中使用create-react-app ,然后先運行npm run start以在http://localhost:3000上運行我的應用程序,然后在electronindex.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM