0

サーバーの画像コレクションで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 のみを参照し、Pictures の minimongo コレクションも作成します。

別のプロジェクトでは、クライアントで webpack を使用しています。空のダミー オブジェクトでシャープに解決するように構成できます。

しかし、空のダミー Sharp オブジェクトを作成して、webpack なしで Meteor クライアントに Sharp モジュールをロードしないようにする方法は?

4

1 に答える 1