5
Próbowałem z następującego kodu:Mock odpowiedzią zip za pomocą sprowadzić-makiety
require('isomorphic-fetch');
const fetchMock = require('fetch-mock'),
fsp = require('fs-promise'),
unzip = require('unzip'),
rimraf = require('rimraf-then'),
path = require('path');
let zipLink = 'https://github.com/stevemao/left-pad/archive/master.zip',
out = 'left-pad-master';
// Careful: lib might be removed at any moment.
fetchMock.get(zipLink,
fsp.createReadStream(path.join(__dirname, 'left-pad-master.zip')));
rimraf(out)
.then(() => fetch(zipLink))
.then(response => {
return new Promise((resolve, reject) => {
// For example purpose, just parse zip file, and log each entry.
response.body.pipe(unzip.Parse())
.on('entry', (entry) => console.log(entry.path))
.on('close', resolve)
.on('error', reject);
});
})
.then(() => console.log('done'))
.catch(console.log);
Ale to rzuca:
Error: invalid signature: 0x725f227b
at C:\dev\unzip-mock\node_modules\unzip\lib\parse.js:59:13
at runCallback (timers.js:628:20)
at tryOnImmediate (timers.js:601:5)
at processImmediate [as _immediateCallback] (timers.js:578:5)
Jeśli wykomentuj fetchMock.get
połączenie i pracować z prawdziwym fetch
to dobrze działa.
Kod jest dostępny na https://github.com/mlewand/unzip-mock-example
Świetnie, że to, co mi brakuje . Dziękuję bardzo za odpowiedź! –