0

我正在尝试使用 require 加载一些 js 文件。这是我的配置文件:

define(function() {

  "use strict";

  require.config({
    hbs : {
      templateExtension : 'hbs',
      disableHelpers: true,
      disableI18n : true
    },

    shim: {
      'underscore': {
        exports: '_'
      },
      'backbone': {
        deps: [
          'underscore',
          'jquery'
        ],
        exports: 'Backbone'
      },
      json2 : {
        exports: "JSON"
      },
      'jqueryMockAjax': {
        exports: '$.mockjax',
        deps: ['jquery']
      }
    },

    paths: {

      jquery: 'libs/jquery/jquery',
      jqueryMockAjax: 'libs/jquery-mockjax/jquery.mockjax',
      underscore: 'libs/underscore/underscore',
      backbone: 'libs/backbone/backbone',

      handlebars : 'libs/hbs/handlebars',
      text: 'libs/text/text',
      hbs: 'libs/hbs/hbs',
      i18nprecompile : 'libs/i18nprecompile',
      json2 : 'libs/json2/json2'
    }
  });
});

如您所见,我的 js 供应商文件位于我的libs目录中。我的目录结构如下所示:

+project
  +app
    +js
      +libs
    app.js
    main.js

我的大多数依赖项都按应有的方式加载,例如jqueryand underscore,但车把的东西没有按应有的方式加载。例如,我有一条到handlebars.jsas的路径libs/handlebars/handlebars,它正在删除libs路径的一部分。对于其他文件,则不是。这是我的网络选项卡,显示了哪些内容被拉入,哪些没有。

在此处输入图像描述

您可以看到libs被删除的路径部分。我不知道那是什么意思。任何帮助将不胜感激。

4

1 回答 1

0

我遇到导入问题的原因是,当bower拉入hbs插件时,它拉入了该插件工作所需的所有文件。 handlebarsi18nprecompile并且json2都在hbs插件的一个目录中。当我提到该文件中的副本时,一切都像它应该工作的那样工作。我不明白为什么以前定义的路径不起作用。如果有人对此问题有一些信息,请发表评论。

于 2013-11-11T15:34:01.787 回答