【发布时间】:2019-03-21 10:53:56
【问题描述】:
我有一个程序为不支持网络工作者的浏览器提供后备。我这样做的原因是因为我想将它部署到 cocoon 的 canvas+,它不支持 web worker。非 web worker 代码可以很好地访问脚本“mountainNoise.js”,因为它使用 ES6 导入和导出,但是当 worker 通过“importScripts()”导入脚本时,它会抛出错误,因为导出声明只能出现在模块中。
有没有办法检测代码是否在模块中运行?我主要关心的是复制文件以支持这两个版本,但这很荒谬,因为一行代码占用了更多内存。
【问题讨论】:
-
看起来像工人don't support modules yet。至于检测,我会检测错误而不是模块化,所以 try/catch 也会处理模块化的新问题。
标签: javascript web-worker es6-modules