我的目標是使用NodeJS的文件系統複製.asar文件。我有一個文件路徑,需要將.asar文件複製到另一個目標。文件路徑使用NodeJS文件系統複製asar文件(fs)
例子:
C:/Users/redacted/Documents/ExampleElectronApp/example.asar
我需要這個文件(檔案)複製到另一個目錄。
以前我複製這與散步和複製功能,但它結束了創建一個名爲名爲實際的文件filename.asar這個功能似乎在所有其他文件和文件夾正常工作的filename.asar代替目錄(除.asar檔案)。
我已經試過
1:使用複製讀寫流存檔。
var fs = require('fs');
fs.createReadStream('C:/Users/redacted/Documents/redacted/node_modules/electron-prebuilt/dist/resources/default_app.asar').pipe(fs.createWriteStream('C:/Users/redacted/Desktop/test.asar'));
它說這個文件沒有找到,但我可以向你保證,複製源路徑不會導致我的.asar文件。
2:使用asar要求創建一個包。
var fs = require('fs');
var asar = require('asar');
asar.createPackage('C:/Users/redacted/Documents/redacted/node_modules/electron-prebuilt/dist/resources/default_app.asar', 'C:/Users/redacted/Desktop/test.asar', function() {
console.log('done.');
})
雖然此函數記錄正確的「已完成」消息,但看起來該副本不可用。目標目錄中不顯示新文件或文件夾。
謝謝大家提前。
是不是windows目錄路徑分隔符是一個'\'?嘗試用'\\'替換所有'/'。或者使用'fs.existsSync(yourPath)'來確定Node實際上可以看到它。你甚至可以使用'fs.readdir'來列出文件夾的文件。 – Seblor
您的文件路徑中沒有空格,是嗎? – paulsm4
我在路徑字符串中的所有空格之前反斜槓\。我也嘗試用\\(除了空格\)替換所有/,並且這兩個解決方案最終都給出了相同的錯誤。當我使用源路徑作爲「路徑」時,使用'fs.existsSync(「path」)'返回'true'。任何其他建議來複制整個檔案? –