У меня есть два. js файла: /Desktop/firstFolder/first.js
и /Desktop/secondFolder/second.js
. Я хочу, чтобы first
сначала работал, затем он выполняет second
. В конце second
я хочу снова выполнить first
и так далее. Звучит просто, верно?
first
работает нормально, затем second
выполняет свою работу и затем перестает работать. Почему я не могу выполнить first
во второй раз?
Итак, сценарии first
и second
настолько просты, насколько это возможно:
console.log('first.js works, launching second.js');
process.chdir('/Users/apple/Desktop/secondFolder');
require('/Users/apple/Desktop/secondFolder/second.js');
console.log('second.js works, launching first.js');
process.chdir('/Users/apple/Desktop/firstFolder');
require('/Users/apple/Desktop/firstFolder/first.js');
Журналы с терминала :
first.js works, launching second.js
second.js works, launching first.js
Apples-MacBook-Air:firstFolder apple$
Почему перестает работать? javascript защищает себя от бесконечного l oop? Есть ли способ сделать это?
Был предложен предложенный вопрос , но он отличается тем, что спрашивают, как заставить один файл. js выполнить другой файл. js несколько раз вместо двух. js файлов, исполняющих друг друга. Более того, я попытался сделать то же самое с моим кодом, я обернул оба. js файла в module.exports = function() {}
и добавил дополнительные ()
в конце каждого require
, но теперь выдает ошибку:
require('/Users/apple/Desktop/firstFolder/first')();
^
TypeError: require(...) is not a function