javascript — правильно & amp; Самый простой способ вызвать один файл js внутри другого файла js

Правильный и простой способ вызова одного файла js внутри другого файла js

Еще один простой способ сделать это — использовать библиотеку ScriptManJS . Это гарантирует, что зависимости загружаются правильно, и вам не нужно беспокоиться об этом при использовании ScriptManJS.

1) Добавьте тег script в заголовочный раздел html, чтобы включить библиотеку:

{amp}lt;script type="text/javascript" src="scriptman.min.js"{amp}gt;{amp}lt;/script{amp}gt; 

2) Где-то в начале кода добавьте:

 new ScriptMan(); 

3) Выполнить включения в одном из возможных синтаксисов. Я предоставлю несколько вариантов, как сделать это просто более широкую картину. Я уверен, что вы выберете тот, который лучше всего соответствует вашим потребностям:

Опция 1:

Просто включите два файла — никакой дополнительный код не требуется, когда они загружены.

 S.require( [ 'file_with_your_object.js', 'third_party.js' ], { sync: true } ); // Files may not be loaded yet when executing code here 

Вариант 2:

Если объект определен в основном файле, он становится таким простым.

 var yourObject = { /* Object contents */ }; S.require( 'third_party.js' ); // Files may not be loaded yet when executing code here 

Если вам не нравится тот факт, что файл еще не может быть загружен ниже этого фрагмента, измените последнюю строку следующим образом:

 S.require( 'third_party.js' ).then( function() { // Here third_party.js will definitely be loaded } ); // Here third.party.js may not be ready yet 

Вариант 3

То же, что вариант 1 — другой синтаксис.

 S.require( 'file_with_your_object.js' ).then( function() { S.require( 'third_party.js' ); } ); 

Вариант 4:

Как бы я это сделал с ScriptManJS.

file_with_your_object.js

 return { /* Object contents */ }; 

основной файл (то есть index.html)

 S.require( 'file_with_your_object.js' ).then( function( yourObject ) { S.require( 'third_party.js' ).then( function() { // Everything is loaded and yourObject contains your object here } ); } ); 

Или даже так (в основном файле):

 S.require( [ 'file_with_your_object.js', 'third_party.js' ], { sync: true } ).then( function( yourObject ) { // Everything is loaded and yourObject contains your object here } ); 

Если по какой-либо причине сторонняя библиотека не хочет, чтобы ее так включали (низкая вероятность), вы можете добавить еще один параметр рядом с sync: … {sync: true, nakedFiles: [‘third_party.js’]} .. ,

Надеюсь это поможет :)

Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector