使用r.js优化后,shim指定的文件无法加载

时间:2013-09-18 13:32:19

标签: optimization requirejs

我的代码中有以下requirejs配置:

require.config({
    baseUrl: "js",
   // urlArgs: 'cb=' + Math.random(),
    deps:["config","app"],
    paths: {
      'jquery'    : 'jquery/jquery',        
      'jquerymobile.config' : 'mobile/jquerymobile.config',
      'jquerymobile': 'mobile/jquery.mobile-1.3.1.min' ,
      'underscore': 'underscore-amd/underscore-min',
      'backbone'  : 'backbone-amd/backbone-min',
      text: 'plugins/text'
    },
    shim: {
      underscore: {
        exports: "_"
      },
      'jquery'    : 'jquery',
      'jquerymobile.config' : ['jquery'],
      jquerymobile : {
            deps : ["jquery", 'jquerymobile.config']
       },
       backbone: {
            deps: ['underscore', 'jquery', 'jquerymobile'],
            exports: 'Backbone'
       }
   }
  });

在jquerymobile.config文件中我有控制台日志语句,在使用以下构建配置文件(build.js)进行优化后无法看到:

({
  appDir: '../',
  baseUrl: 'js',
  dir: '../../dist',
  name: 'config',
  skipDirOptimize:true,
  fileExclusionRegExp: /^(r|build)\.js$/,
  excludeShallow: ['settings'],
  mainConfigFile: '../js/config.js',
  optimizeCss: 'standard',
  removeCombined: true,
  deps:["config","app"]
})

我有一种感觉r.js无视垫片,依赖,\ n 有没有解决方法? 谢谢你的帮助

1 个答案:

答案 0 :(得分:0)

请尝试以下方式:

在main.js需要依赖项列表中包含您的jquerymobile.config

require(['app', 'jquerymobile.config', 'jquerymobile'], function(App) {
    App.initialize();
});