Si j'ai une bibliothèque extraite de cdn et que je ne voudrais pas qu'elle fasse partie du fichier final js mais que je puisse l'exiger avec browserify, comment pourrais-je le résoudre?
Voici comment je le résous actuellement en utilisant alias
et un fichier shim.
browserify: {
options: {
debug: true,
transform: [ 'reactify' ],
alias: [
'client/shims/jquery.js:jquery'
]
},
app: {
src: 'client/app.js',
dest: 'public/app.js'
}
}
voici le fichier shim client/shims/jquery.js
auquel je renvoie alias jquery
pour que je puisse utiliser require('jquery')
à la place du chemin complet.
module.exports = $;
Existe-t-il un raccourci dans grunt-browserify pour prendre en charge ce scénario? J'aimerais savoir s'il est possible de le définir dans Gruntfile.js sans créer le fichier shim.
Ajouter external: [ 'jquery' ]
semble l’ignorer totalement et ne fonctionne pas.
Avec browserify-shim vous pouvez ajouter ceci dans votre fichier package.json:
"browserify": {
"transform": [
"browserify-shim"
]
},
"browserify-shim": {
"jquery": "global:$"
}
Alors jquery sera disponible dans vos modules via require('jquery')
Si vous chargez jQuery avant le bundle Browserify sur la page, $
sera disponible en tant que global.