我已经将jQuery作为脚本标记添加到html文件中,并将其添加到package.json以使用browserify-shim,如下所示:
"browserify": {
"transform": [
"browserify-shim"
]
},
"browserify-shim": {
"jquery": "global:jQuery"
},我可以通过一个简单的require('jquery')调用在我的主脚本文件中公开它。
问题是我使用了一些在内部执行require('jquery')的jQuery插件,由于browserify转换不适用于依赖项的依赖,它导致browserify抱怨捆绑,因为它找不到jQuery。
现在我知道我可以通过应用全局变换来解决它,但我找不到一种简单的方法。
Browserify文档说您不能在包文件中应用全局转换,因此以下内容不起作用(我认为会起作用):
"browserify": {
"global-transform": [
"browserify-shim"
]
},
"browserify": {
"transform": [
"browserify-shim"
],
"global": true
},我还尝试将该选项添加到我的Gruntfile.js中,如下所示,但即使这样也不起作用:
browserify: {
options: {
global: true
},
dist: {
files: {
'js/bundle.js': 'js/script.js'
}
},
},最后一个选项是手动添加一个browserify-shim到每个依赖项的package.json中,但我不想这么做,因为这意味着每次我添加一个新插件时,我都必须重复相同的过程。
有什么想法可以缓解上面的问题吗?
发布于 2016-12-07 20:46:50
您应该能够通过提供带有散列选项的转换来应用全局转换:
"browserify": {
"transform": [
["browserify-shim", {global: true}]
]
}https://stackoverflow.com/questions/35228943
复制相似问题