У меня есть небольшая функция, которая выглядит следующим образом:
async importer ( path ) {
const maxAttempts = 4;
let p = Promise.reject();
const rejectDelay = reason => {
return new Promise((resolve, reject) => {
setTimeout(reject.bind(null, reason), 1000);
});
};
const attempt = () => {
return new Promise((resolve, reject) => {
import('../../src/pages/desktop/index.jsx').then(data => {
resolve(data);
}).catch(error => {
reject(error);
});
});
};
for(let i = 0; i < maxAttempts; i++) {
p = p.catch(attempt).catch(rejectDelay);
}
p = p.then(data => {
console.log(data);
}).catch(error => {
console.error(error);
});
}
Если я включу часть импорта, мой веб-пакет не скомпилируется и, в конце концов, вылетит.Затем узел выдает мне эту ошибку:
<--- Last few GCs --->
[1864:00000260CFC24890] 242486 ms: Mark-sweep 1317.0 (1441.8) -> 1301.3 (1441.3) MB, 667.9 / 0.1 ms (average mu = 0.316, current mu = 0.275) allocation failure scavenge might not succeed
[1864:00000260CFC24890] 243400 ms: Mark-sweep 1318.2 (1442.8) -> 1304.5 (1442.8) MB, 662.4 / 0.0 ms (average mu = 0.296, current mu = 0.275) allocation failure scavenge might not succeed
<--- JS stacktrace --->
==== JS stack trace =========================================
0: ExitFrame [pc: 000003DB79A50361]
1: StubFrame [pc: 000003DB79A0DEF8]
Security context: 0x0369d989d949 <JSObject>
2: /* anonymous */ [0000035D7180D9D1] [C:\Users\Rick\PhpstormProjects\witteveen_new_dev\node_modules\acorn\dist\acorn.js:~4658] [pc=000003DB7C8C0810](this=0x008c53a992d1 <Parser map = 000003D9D2615211>,2)
3: /* anonymous */ [0000035D7180D7D1] [C:\Users\Rick\PhpstormProjects\witteveen_new_dev\node_modules\acor...
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
1: 00007FF7DCA221C5
2: 00007FF7DC9FA056
3: 00007FF7DC9FAA40
4: 00007FF7DCE4499E
5: 00007FF7DCE448D7
6: 00007FF7DD11D804
7: 00007FF7DD113444
8: 00007FF7DD111B18
9: 00007FF7DD11B487
10: 00007FF7DD11B506
11: 00007FF7DCCDC311
12: 00007FF7DD436DEA
13: 000003DB79A50361
events.js:167
throw er; // Unhandled 'error' event
^
Error: EOF: end of file, write
at Socket._write (internal/net.js:58:25)
at doWrite (_stream_writable.js:410:12)
at writeOrBuffer (_stream_writable.js:394:5)
at Socket.Writable.write (_stream_writable.js:294:11)
at compilerCallback (C:\Users\Rick\PhpstormProjects\witteveen_new_dev\node_modules\webpack-cli\bin\cli.js:512:30)
at finalCallback (C:\Users\Rick\PhpstormProjects\witteveen_new_dev\node_modules\webpack\lib\Compiler.js:204:39)
at hooks.done.callAsync.err (C:\Users\Rick\PhpstormProjects\witteveen_new_dev\node_modules\webpack\lib\Compiler.js:253:14)
at AsyncSeriesHook.eval [as callAsync] (eval at create (C:\Users\Rick\PhpstormProjects\witteveen_new_dev\node_modules\tapable\lib\HookCodeFactory.js:32:10), <anonymous>:6:1)
at AsyncSeriesHook.lazyCompileHook (C:\Users\Rick\PhpstormProjects\witteveen_new_dev\node_modules\tapable\lib\Hook.js:154:20)
at emitRecords.err (C:\Users\Rick\PhpstormProjects\witteveen_new_dev\node_modules\webpack\lib\Compiler.js:251:22)
at Compiler.emitRecords (C:\Users\Rick\PhpstormProjects\witteveen_new_dev\node_modules\webpack\lib\Compiler.js:366:39)
at emitAssets.err (C:\Users\Rick\PhpstormProjects\witteveen_new_dev\node_modules\webpack\lib\Compiler.js:245:10)
at hooks.afterEmit.callAsync.err (C:\Users\Rick\PhpstormProjects\witteveen_new_dev\node_modules\webpack\lib\Compiler.js:352:14)
at AsyncSeriesHook.eval [as callAsync] (eval at create (C:\Users\Rick\PhpstormProjects\witteveen_new_dev\node_modules\tapable\lib\HookCodeFactory.js:32:10), <anonymous>:6:1)
at AsyncSeriesHook.lazyCompileHook (C:\Users\Rick\PhpstormProjects\witteveen_new_dev\node_modules\tapable\lib\Hook.js:154:20)
at asyncLib.forEach.err (C:\Users\Rick\PhpstormProjects\witteveen_new_dev\node_modules\webpack\lib\Compiler.js:349:27)
at done (C:\Users\Rick\PhpstormProjects\witteveen_new_dev\node_modules\neo-async\async.js:2854:11)
at C:\Users\Rick\PhpstormProjects\witteveen_new_dev\node_modules\neo-async\async.js:2805:7
at C:\Users\Rick\PhpstormProjects\witteveen_new_dev\node_modules\graceful-fs\graceful-fs.js:43:10
at FSReqCallback.oncomplete (fs.js:148:20)
Emitted 'error' event at:
at onwriteError (_stream_writable.js:425:12)
at onwrite (_stream_writable.js:456:5)
at Socket._write (internal/net.js:62:14)
at doWrite (_stream_writable.js:410:12)
[... lines matching original stack trace ...]
at FSReqCallback.oncomplete (fs.js:148:20)
Странная вещь в том, что если я использую функцию импорта в другом файле, она работает отлично, но в этом файле она просто не будет работать, а компилятор веб-пакета простосдается.