在browserify中需要cdn库,而不将其捆绑到最终的js文件中
如果我有一个从cdn下拉的库,并且不希望它成为最终js文件的一部分,但是能够使用browserify来请求它,那么我将如何解决这个问题?
这是我目前如何解决它使用alias
和填充文件。
browserify: { options: { debug: true, transform: [ 'reactify' ], alias: [ 'client/shims/jquery.js:jquery' ] }, app: { src: 'client/app.js', dest: 'public/app.js' } }
这里是shim文件client/shims/jquery.js
,我将其别名为jquery
所以我可以使用require('jquery')
而不是完整path。
module.exports = $;
grunt-browserify中是否有一个快捷方式来支持这种情况? 我想知道是否可以在Gruntfile.js中定义它而不创buildshim文件。
添加external: [ 'jquery' ]
似乎完全忽略它,不起作用。
通过browserify-shim,你可以在你的package.json文件中添加这个:
"browserify": { "transform": [ "browserify-shim" ] }, "browserify-shim": { "jquery": "global:$" }
然后,jquery将通过require('jquery')
在您的模块中可用
如果您在页面上的Browserify包之前加载jQuery,则$
将作为全局提供。