Browserify com twitter bootstrap
Existem muitas perguntas semelhantes, incluindo respostas aqui no estouro de pilha, mas nenhuma delas funcionou para mim, então aqui estou perguntando a vocês. Eu aprecio o tempo de todos.
Recentemente, comecei a usar o gulp com o browserify, e isso funciona muito bem. Tentei usar o browserify para o front-end usando: Backbone e Bootstrap3.
as coisas parecem funcionar, até eu tentar exigir o arquivo js que acompanha o Bootstrap. Eu recebo um erro nas minhas ferramentas do Chrome, afirmando: jQuery é indefinido.
Eu tentei calçar, mas estou muito confuso com o calço. Estou usando o jQuery 2.1.1, então não preciso calçar o jQuery, mas ele existe no calço agora, pois estava desesperado e tentando de tudo. Aqui está o meu arquivo package.json e main.js:
-------------- package.json ------------------
{
"name": "gulp-backbone",
"version": "0.0.0",
"description": "Gulp Backbone Bootstrap",
"main": "main.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "Rob Luton",
"license": "ISC",
"devDependencies": {
"jquery": "^2.1.1",
"backbone": "^1.1.2",
"browserify": "^4.2.1",
"gulp": "^3.8.6",
"vinyl-source-stream": "^0.1.1",
"gulp-sass": "^0.7.2",
"gulp-connect": "^2.0.6",
"bootstrap-sass": "^3.2.0",
"browserify-shim": "^3.6.0"
},
"browser": {
"bootstrap": "./node_modules/bootstrap-sass/assets/javascripts/bootstrap.js",
"jQuery": "./node_modules/jquery/dist/jquery.min.js"
},
"browserify": {
"transform": ["browserify-shim"]
},
"browserify-shim": {
"jquery": "global:jQuery",
"bootstrap": {
"depends": [
"jQuery"
]
}
}
}
------------------------- main.js ----------------------
var shim = require('browserify-shim');
$ = require('jquery');
var Backbone = require('backbone');
Backbone.$ = $;
var bootstrap = require('bootstrap');
/* the following logs fine if I comment out the bootstrap require, otherwise I get 'jQuery undefined' */
console.log(Backbone);
$(function() {
alert('jquery works');
});