ホイストでは、ドキュメントの準備が整う前に ES6 モジュールがロードされます。
例えば、
// module.js
console.log('body', document.body);
export let a = 1;
// main.js
import {a} from 'module'
body null
コンソールにログインします。
DOM 操作を使用し、必要な ES6 モジュールを使用するにはどうすればよいですdocument ready
か?
使ってみた
$(document).ready(function() {
var a = 1;
});
export {a};
私のモジュールでは、babel がUnexpected token
エラーを返しました。
私も試しました
$(document).ready(function() {
export let a = 1;
});
'import' and 'export' may only appear at the top level
エラーが発生しました。
アップデート:
私は同じ問題を抱えています
document.addEventListener("DOMContentLoaded",function(){
var a = 1;
}
export {a};
a
定義されていないためです。
つまり、エクスポートする変数が利用できません (私の更新を参照してください)。
アップデート:
@MaciejSikora コードに基づく私の試みは次のとおりです。
function Test() {
document.addEventListener("DOMContentLoaded",()=>{
this.width = $(window).width();
});
};
//example object method
Test.prototype.getElement = function(el) {
return this[el];
};
export { Test };
別のファイルで私は
var test = new Test();
var width = test.getElement('width');
しかしwidth
、未定義です。