Javascript Browserify bundle未定义的依赖项
我正在一个Javascript Browserify bundle未定义的依赖项,javascript,backbone.js,browserify,browserify-shim,Javascript,Backbone.js,Browserify,Browserify Shim,我正在一个主干项目中使用browserify,并进行填隙 因为它不是一个类似于commonJS的模块。shim转换似乎可以工作,但在我真正需要它的时候却不行 我的app.js文件如下所示: var settingsView = require("./settingsView.js"); new settingsView(); 和我的设置视图 var app = require("./controllers.js"), $ = require("jQuery"), Backbo
主干项目中使用browserify
,并进行填隙
因为它不是一个类似于commonJS
的模块。shim
转换似乎可以工作,但在我真正需要它的时候却不行
我的app.js
文件如下所示:
var settingsView = require("./settingsView.js");
new settingsView();
和我的设置视图
var app = require("./controllers.js"),
$ = require("jQuery"),
Backbone = require("Backbone"),
owlCarousel = require("owlCarousel");
Backbone.$ = $;
module.exports = Backbone.View.extend({
el: ".settings",
events: {
"click .carousel-img": "setBackground",
"click .palette div": "setTextColor"
},
options: {
singleItem: true,
pagination: false,
navigation: true,
mouseDrag: false
},
initialize: function () {
this.initCarousel();
},
initCarousel: function () {
/* This is causing the problem */
this.owlCarousel = this.$el.find(".carousel").owlCarousel(this.options);
}
})
其中mypackage.json
"browser": {
"jquery": "./node_modules/jquery/dist/jquery.js",
"owlCarousel": "./vendor/owl-carousel/owl-carousel/owl.carousel.js"
},
"browserify": {
"transform": [
"browserify-shim"
]
},
"browserify-shim": {
"jquery": "$",
"owlCarousel": {
"depends": ["jquery:$"]
}
}
它给我的错误是:
未捕获的TypeError:this.$el.find(…).owlCarousel不是函数
在运行时。但是,如果我在dom就绪后在控制台中运行$(“div”).owlCarousel
,它就会工作。
var app = require("./controllers.js"),
$ = require("jQuery"),
Backbone = require("Backbone"),
owlCarousel = require("owlCarousel");
Backbone.$ = $;
$.fn.owlCarousel = owlCarousel
您正在从视图的initialize
调用initCarousel
,但在该阶段,还没有实际渲染任何内容。渲染视图后,将对initCarousel
的调用移动到。视图已处于htmlMy bad中,我想您只是为了简洁起见而将render
函数保留了下来。我的bad我没有指定它EH