如果我有一个从cdn下拉的库并且不希望它成为最终js文件的一部分但是能够使用browserify要求它,我该如何解决它?
以下是我目前使用alias
和shim文件解决它的方法.
browserify: { options: { debug: true, transform: [ 'reactify' ], alias: [ 'client/shims/jquery.js:jquery' ] }, app: { src: 'client/app.js', dest: 'public/app.js' } }
这是client/shims/jquery.js
我所说的shim文件,jquery
所以我可以使用require('jquery')
而不是完整路径.
module.exports = $;
grunt-browserify中是否有一个快捷方式来支持这种情况?我想知道是否可以在Gruntfile.js中定义它而不创建shim文件.
添加external: [ 'jquery' ]
似乎完全忽略它并且不起作用.
使用browserify-shim, 您可以在package.json文件中添加:
"browserify": { "transform": [ "browserify-shim" ] }, "browserify-shim": { "jquery": "global:$" }
然后jquery将在您的模块中通过 require('jquery')