在nativescript插件中使用worker的问题

时间:2019-03-03 10:15:58

标签: nativescript nativescript-plugin

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

1 个答案:

答案 0 :(得分:2)

您必须有条件地使用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');
    }