我正在使用 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 为每个文件使用一组单独的垫片。