当pub.dev插件不支持Web时,请使用npm软件包来支持Flutter Web。

时间:2020-10-11 12:46:04

标签: javascript node.js typescript flutter flutter-web

我正在尝试开发一款应用程序,包括iOS + Android + Web。插件不提供网络支持。

我发现了相同sdk的npm软件包并想使用

装有iOS + android插件sdk的Flutter iOS + Android。 flutter web + npm软件包sdk。

如果插件不提供网络支持,是否可以在Flutter Web应用程序中使用npm / node软件包?

1 个答案:

答案 0 :(得分:1)

尝试使用webpack。

在我的一个项目中,我不得不调用Javascript(因为网络隔离无法按预期工作)。我使用javascript创建了一个单独的项目,并将webpack脚本直接编译为Flutter Web文件夹。当然,我没有使用任何npm软件包,但是我不明白为什么它不起作用。

这是我的webpack.config.js(/src/worker.js是入门javascript文件):

const CopyWebpackPlugin = require('copy-webpack-plugin');
const webpack = require('webpack');
const path = require('path');

module.exports = {
    mode: 'production',
    entry: './src/worker.js',
    output: {
        filename: '[name].bundle.js',
        path: path.resolve(__dirname, '../flutter_app/web/', 'my_js')
    }
}

在Dart代码中,您可以使用Worker类来调用脚本,例如:

var myWorker = Worker('../my_js/main.bundle.js');
    myWorker.onMessage.listen((returnValue) {
//Some processing here...
});
var event = {"arg1": "value1", "arg2": "value2"};
myWorker.postMessage(json.encode(event));