Я работаю со сторонним скриптом, и мне нужно назначить некоторые функции объекту окна, чтобы эти функции были доступны для этого стороннего скрипта (который будет работать в том же окне браузера, вызываемом изтот же домен).Я должен сделать это, используя ES6, используя let
и модули (import
/ export
).
В ES5 я могу сделать следующее:
//index.html
<script src="main.js"></script>
//third-party script will use window.myObj.blurt()
<script src="third-party-script.js"></script>
//main.js
var myObj = {};
myObj = {
blurt: function(){
console.log("Hello.");
}
}
blurt()
теперь доступно для вызова из объекта window
.Я могу поместить это в консоль браузера, и она будет работать: window.myObj.blurt()
.
Я бы хотел сделать это в ES6:
//index.html - note the type="module"
<script type="module" src="main.js"></script>
//third-party script will use window.myObj.blurt()
<script src="third-party-script.js"></script>
//main.js
import './my-window-functions.js';
//other existing code
//my-window-functions.js - NOT the third-party script - just my ES6 module system
let myObj = {};
myObj = {
blurt: function(){
console.log("Hello.");
}
}
Сейчасwindow.myObj.blurt()
- это undefined
.Как назначить функции для объекта window
в этой экосистеме?