2

browserify + grunt を使用して、アプリのクライアント側バージョンとサーバー側バージョンの 2 つの個別の JS 出力を生成しています。例えば。

gruntfile.js

browserify: {
    server: {
        files: { 'dist/server.js': ['src/serverside.js'], }
    },
    client: {
        files: { 'dist/client.js': ['src/clientside.js'], }
    }
}

すべてがうまく機能し、2 つの個別のファイルを取得します。

ここで、クライアント側アプリで browserify-shim を使用して、CDN からいくつかの共通ライブラリを参照したいと考えています。

例えば。

"browserify-shim": {
    "libThing": "global:LibThing"
},
"browserify": {
    "transform": [
        "browserify-shim"
    ]
}

問題は、これがクライアントとサーバーの両方のバージョンでそれをシムすることです。サーバーでは、このようなものはグローバルに存在しません。

この shim を (サーバーではなく) クライアントだけに適用したい

私が試してみました

"browserify-shim": {
    "server": {
    }
    "client": {
        "libThing": "global:LibThing"
    }
},
"browserify": {
    "transform": [
        "browserify-shim"
    ]
}

しかし、ファイルごとに個別のシムのセットを使用するようにbrowserifyに指示する方法がわかりません。

4

0 に答える 0