Usa i pacchetti npm per flutter web quando i plugin pub.dev non hanno supporto web
Sto cercando di creare un'app in flutter, iOS + Android + Web ma alcune. i plugin non offrono supporto web.
Ho trovato pacchetti npm dello stesso sdk e voglio usare
svolazzare iOS + Android con iOS + Android plugin sdk. flutter web + pacchetto npm sdk.
C'è un modo per utilizzare i pacchetti npm / node in un'app Web flutter se i plug-in non hanno il supporto web?
Risposte
Prova a utilizzare webpack.
In uno dei miei progetti ho dovuto chiamare Javascript (poiché gli isolati sul web non funzionano come previsto). Ho creato un progetto separato con javascript e ho compilato lo script webpack direttamente nella cartella web di flutter. Certo, non ho usato alcun pacchetto npm, ma non vedo perché non dovrebbe funzionare.
Questo è il mio webpack.config.js (/src/worker.js è il file javascript della voce):
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')
}
}
Nel tuo codice Dart puoi usare la classe Worker per chiamare lo script, qualcosa come:
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));