亲爱的 StackOverflow 用户,
我为浏览器和微信小程序制作了一个模块。该模块是用多个 TypeScript 编写的,并被编译成一个缩小的文件。在该模块中,我需要使用 DOM/BOM API,例如document
'window , 'navigator
. 在浏览器上,加载和使用编译好的单文件没有问题。
但是在微信小程序上,没有global
Node上的对象。也没有浏览器上的document
全局window
对象。为了解决这个问题,我为每个环境做了两个构建命令。
grunt build
, 浏览器的标准 TS 编译grunt wx_build
,标准TS编译并附加微信小程序补丁代码
修补后的 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")...
在微信小程序项目中,我将mymodule-bundle.min.js
和miniapp-adapter
放在同一个文件夹中。结果,我可以将我的 HTML5 应用程序移植到微信小程序中。
但我想要一种更聪明的方法来做到这一点。
微信小程序运行时如何声明
window
ordocument
全局变量?mymodule.ts
谢谢你。