Я хочу организовать и представить свои функции на глобальном объекте windows
, но, что бы я ни пытался, я не могу этого достичь.
Мои функции записаны в виде модуля TypeScript
, и именно так я бы хотел выставить мои функции:
window.namespace.utils.messageBox
window.namespace.main.initMain
Вот мой код:
index.ts
import { Functions } from './src/Functions';
export default Functions;
// also tried window['namespace'] = Functions;
Functions.ts
import { UtilFunctions } from './Utils/UtilFunctions';
import { MainFunctions } from './Main/InitMain/MainFunctions';
export module Functions {
export var main = MainFunctions;
export var utils = UtilFunctions;
}
UtilFunctions.ts
import { MessageBox } from './MessageBox/MessageBox';
export module UtilFunctions {
export var messageBox = MessageBox
};
MainFunctions.ts
import { InitMain } from "./InitMain";
export module MainFunctions {
export var initMain = InitMain;
}
После некоторых поисков и экспериментов я понял, что мне нужно установить Terser Miny Option :
.terserr c:
{
"mangle" false
}
А затем я строю, используя - глобальный флаг :
parcel build index.ts --global namespace
Но когда я проверяю namespace
в своей консоли F12:
namespace
{…}
__esModule: true
<prototype>: Object { … }
Как я могу поместить свои функции в namespace
объект?
Я экспорт всего - на самом деле все работает нормально, если я делаю свою сборку dev: "dev": "parcel index.ts"
.
Я думаю, что производство помещает все в Замыкание, верно? Вот почему мои функции не отображаются так, как я хочу.