Я использовал npm pkg Sharp в коллекции изображений сервера для преобразования imgs. Код сервера выглядит так:
import * as sharp from 'sharp';
export const Pictures = new Mongo.Collection('pictures');
export const PicturesStore = new UploadFS.store.GridFS({
collection: Pictures,
name: 'pictures',
filter: new UploadFS.Filter({
contentTypes: [ 'image/*' ],
}),
transformWrite(from, to, fileId, file) {
const transform = sharp().resize(300, 300).min().crop().toFormat('jpeg', { quality });
from.pipe(transform).pipe(to);
},
})
Однако на клиенте он сообщает об ошибке:
cannot load native .node modules on the client.
На самом деле клиент не выполняет острые функции. Это относится только к PicturesStore, а также создать коллекцию минимонго для картинок.
В другом проекте он использует webpack на клиенте. Он может быть настроен на резкое резкое изображение с пустым фиктивным объектом.
Но как создать пустой фиктивный объект Sharp, чтобы предотвратить загрузку модуля Sharp на клиенте Meteor без веб-пакета?