2

我正在使用 browserify + grunt 生成两个单独的 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