Уважаемые пользователи StackOverflow,
Я создал модуль для браузера и Мини-программы WeChat . Этот модуль написан на нескольких TypeScript и скомпилирован в один минимизированный файл. В этом модуле мне нужно использовать API DOM / BOM, такие как document
, 'window , 'navigator
. В браузере загрузка и использование скомпилированного файла не имеют проблем.
Но в мини-программе WeChat отсутствует объект global
, как на узле. Также нет глобальных объектов document
и window
, как в браузере. Чтобы исправить это, я сделал две команды сборки для каждой среды.
grunt build
, стандартная компиляция TS для браузера grunt wx_build
, стандартная компиляция TS и добавление кода исправления для WeChat мини-программа
пропатченный js файл выглядит так:
// mymodule-bundle.min.js
// patch
window=require("./miniapp-adapter/src/index.js");
document=require("./miniapp-adapter/src/document.js").default;
// original compiled/minified code
(function(f){if(typeof exports==="object"&&typeof module!=="undefined")...
В проекте мини-программы WeChat я поместил mymodule-bundle.min.js
и miniapp-adapter
в одну папку. В результате я могу портировать свое приложение HTML5 на мини-программу WeChat.
Но я хочу сделать это более разумно.
Как мне объявить window
или document
глобальная переменная в mymodule.ts
для времени выполнения мини-программы WeChat?
Спасибо.