如何使用webpack和babel編譯我的代碼,以便導出的函數在全局範圍內可用。如何使用babel和webpack將導出的函數暴露於全局範圍
因此,例如:
export function test(){console.log('test')}
應該可以window.test()
下。
當我剛跑babel -d
我得到了我所期望的:
'use strict';
Object.defineProperty(exports, '__esModule', {
value: true
});
exports.test = test;
function test() {
console.log('test');
}
但輸出的WebPack看起來是這樣的:
!function(e) {
function t(r) {
if (o[r])return o[r].exports;
var n = o[r] = {exports: {}, id: r, loaded: !1};
return e[r].call(n.exports, n, n.exports, t), n.loaded = !0, n.exports
}
var o = {};
return t.m = e, t.c = o, t.p = "", t(0)
}([function(e, t) {
"use strict";
function o() {
console.log("test")
}
Object.defineProperty(t, "__esModule", {value: !0}), t.test = o
}]);
結束test
功能在全球範圍內都有效。
對此有何更新?我一直在努力學習現在就做同樣的事情。 –
我試圖做同樣的事情,只動態創建窗口/全局變量。 Expose-loader可以工作,但是當你需要暴露一個TON的全局變量 – user1828780