GitLab CI / CD runner не может получить доступ к динамическим путям к файлам в nodejs

Вы можете использовать WebWorkers для выделения вашего кода:

Создать полностью отдельную и параллельную среду исполнения (то есть отдельный поток или процесс или эквивалентную конструкцию) и выполните остальные эти шаги асинхронно в этом контексте.

blockquote>

Вот простой пример:

someGlobal = 5;

//As a worker normally take another JavaScript file to execute we convert the function in an URL: http://stackoverflow.com/a/16799132/2576706
function getScriptPath(foo) {
  return window.URL.createObjectURL(new Blob([foo], {
    type: 'text/javascript'
  }));
}

function protectCode(code) {
  var worker = new Worker(getScriptPath(code));
}

protectCode('console.log(someGlobal)'); // prints 10
protectCode('console.log(this.someGlobal)');
protectCode('console.log(eval("someGlobal"))');
protectCode('console.log(window.someGlobal)');

Этот код вернет:

Uncaught ReferenceError: someGlobal is not defined

undefined

Uncaught ReferenceError: someGlobal is not defined и

Uncaught ReferenceError: window is not defined

, поэтому код теперь безопасен.

0
задан kiran shinde 21 January 2019 в 08:54
поделиться