Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Browserify bundle未定义的依赖项_Javascript_Backbone.js_Browserify_Browserify Shim - Fatal编程技术网

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);
   }
})
其中my
package.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