1

だから私はrequirejsとバックボーンの初心者ですが、ローカルマシンにblueimpファイルアップローダーのすべての依存関係をロードしようとしており、外部スクリプトをロードしていません。これが私のconfig.jsファイルです:

// Set the require.js configuration for your application.
require.config({

  // Initialize the application with the main application file.
  deps: ["main"],

  paths: {
    // JavaScript folders.
    libs: "../assets/js/libs",
    plugins: "../assets/js/plugins",
    vendor: "../assets/vendor",
    api : "../assets/js/libs/api",

    // Libraries.
    jquery: "../assets/js/libs/jquery",
    jqueryui: "../assets/js/libs/jquery-ui",
    lodash: "../assets/js/libs/lodash",
    backbone: "../assets/js/libs/backbone",
    handlebars: "../assets/js/libs/handlebars",
    bootstrap : "../assets/js/libs/bootstrap",
    jqueryuiwidget : '../assets/js/libs/jquery.ui.widget',
    jstemplates : '../assets/js/libs/tmpl.min',
    jsloadimage : '../assets/js/libs/load-image.min',
    jscanvastoblob : '../assets/js/libs/canvas-to-blob.min',
    iframetransport : '../assets/js/libs/jquery.iframe-transport',
    fileupload : '../assets/js/libs/jquery.fileupload',
    fileuploadfp : '../assets/js/libs/jquery.fileupload-fp',
    fileuploadui : '../assets/js/libs/jquery.fileupload-ui'
  },

  shim: {
    // Backbone library depends on lodash and jQuery.
    backbone: {
      deps: ["lodash", "jquery", "jqueryui", "api", 'jqueryuiwidget', 'jstemplates', 'jsloadimage', 'jscanvastoblob', 'iframetransport', 'fileupload', 'fileuploadfp', 'fileuploadui'],
      exports: "Backbone"
    },

    handlebars : {
        attach: "Handlebars"
    },

    api : {
        attach : "api"
    },

    bootstrap: {
      deps: ["jquery"]
    },

    // Backbone.LayoutManager depends on Backbone.
    "plugins/backbone.layoutmanager": ["backbone"]
  }

});

他のすべてのファイルをバックボーンの依存関係として配置することは想定されていませんが、ロードしようとしているだけです。

何が起こるかというと、エラーなしで読み込まれますが、ページを見ると、canvas-to-blob.min.js、load-image.min.js、およびtmpl.min.jsしか読み込まれていません。

なぜこれが起こるのか考えはありますか?たとえば、他のファイルの1つのパスを間違ったものに変更すると、ロードしようとしているかのようにスローされてエラーが発生し、失敗するため、奇妙です。しかし、正しいパスの場合、ロードされません...

4

2 に答える 2

2
shim: {

backbone: {
  deps: ["lodash", "jquery"],
  exports: "Backbone"
},

bootstrap: { deps: ["jquery"] },
widget: { deps: ["jquery"] },

// backbone plugins
"plugins/backbone.layoutmanager": ["backbone"], 
"lib/jquery.fileupload": ["jquery", "widget"],
"lib/jquery.fileupload-fp": ["jquery", "lib/load-image", "lib/canvas-to-blob",        
"lib/jquery.fileupload"],
"lib/jquery.fileupload-ui": ["jquery", "lib/tmpl", "lib/load-image",  
"lib/jquery.fileupload-fp"]
}

そして、私が同じことをしたすべてのjsファイルのdefine []部分のconfigからのパス変数でパスを置き換える必要があり、それは私のために働いています。

于 2012-11-27T09:44:33.093 に答える
0

このソースのload-image.minファイルの代わりにload-imageを使用してみてくださいhttps://github.com/blueimp/JavaScript-Load-Image、それは私にとってはうまくいきます:)

于 2013-11-23T12:11:19.203 に答える