首页 > 解决方案 > 在 nativescript 插件中使用 worker 的问题

问题描述

我创建了我的第一个插件:https ://www.npmjs.com/package/nativescript-ftp-client 它在开发模式下工作(使用种子项目),但是当我打包它时,应用程序说它找不到 ftp-包含的worker-android.js 文件问题是我正在使用new Worker('./ftp-worker-android.js');它并给出错误。如果我尝试在文件的开头将它包含在导入中,它会被包含在内,所以我知道它在包中但工作人员似乎无法加载,它会给出以下错误: JS: [Error: com.tns.NativeScriptException: Failed to find module: "./ftp-worker-android.js", relative to: app//

标签: nativescriptnativescript-plugin

解决方案


你必须有条件地使用nativescript-worker-loader插件来初始化 webpack 构建的 worker。

    var worker;
    if (global.TNS_WEBPACK) {
        var GrayscaleWorker = require('nativescript-worker-loader!./ftp-worker-android.js');
        worker = new GrayscaleWorker();
    } else {
        worker = new Worker('./ftp-worker-android.js');
    }

推荐阅读