Если у вас есть файл A.js
, содержащий код, который используется в B.js
и C.js
, тогда этот файл загружается и анализируется только один раз . Таким образом, вызов функции в A.js
будет запущен только один раз, когда файл загружен.
Если вы хотите вызывать функцию, предоставляемую A.js
всякий раз, когда код из A.js
где-то включен, вы не можете использовать прослушиватель событий, поскольку его нет.
Одна вещь, которую вы всегда можете сделать, это запускать нужную функцию »вручную« всякий раз, когда вы импортируете A.js
.
//A.js
const fx1 = () => {}
const fx2 = () => {}
const callback = () => {}
export { callback }
export default { fx1, fx1 }
//B.js
import { * as CodeFromA, callback } from 'A.js';
callback();
Другая вещь может состоять в том, чтобы изменить экспорт A.js
на что-то вроде:
export default () => {
callback();
return { ReusableFunc1, ReusableFunc2 }
}
Таким образом, вы можете:
import CodeFromA from 'A.js'
const ReusableFx = CodeFromA();
Это гарантировало бы, что вы получите ошибку, если попытаетесь использовать любой из этих ReusableFunc*
без вызова обратного вызова до этого.