Require.js +骨干优化(Require.js + Backbone optimizatio

2019-10-16 22:32发布

下午好,

我试图用r.js优化基于Require.js源代码和骨干,但在编译过程中,我发现了以下错误:

Tracing dependencies for: main
Cannot optimize network URL, skipping: empty:.js
TypeError: Cannot read property 'normalize' of undefined
In module tree:
    main
      app
        router
          views/main_panel/event_details
            helpers/template_manager

我template_manager模块不会尝试访问任何“正常化”属性,所以我真的不明白那是什么意思。 这里的切入点,以我的应用程序,以及在require.js配置。

require.config({
  paths: {
order: 'libs/requirejs-plugins/order',
        text: 'libs/requirejs-plugins/text',
        jQuery: 'libs/jquery/jquery',
        Underscore: 'libs/underscore/underscore',
        Backbone: 'libs/backbone/backbone',
        templates: '../templates',
    Sync: 'helpers/sync'
  }
});

require([
  'app',
  'event_manager',
  'order!https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js',
  'order!libs/underscore/underscore-min',
  'order!libs/backbone/backbone-min',
  'helpers/objects_extension',
  'helpers/date_extension',
  'helpers/assets'
], function(App){
    App.initialize();
});

应用程序本身或多或少遵循什么在本教程中 。 我app.build.js文件如下

({
    appDir: "../",
    baseUrl: "js",
    dir: "../app-build",
    modules: [
        {
            name: "main"
        }
    ],
    paths: {
        order: 'empty:',
        text: 'empty:',
        jQuery: 'empty:',
        Underscore: 'empty:',
        Backbone: 'empty:',
        templates: '../templates',
        Sync: 'helpers/sync'
    }
})

谢谢您的帮助。

Answer 1:

詹姆斯·伯克说:

文本插件需要由加载它处理文本装! depenencies。 装载机插件作为构建的一部分执行,以解决他们的资源。

因此,它应该足以删除文本:“空:”从路径配置,并且只留下不包括:中,因此不包括在最终版本的结果。 这里假设你有本地可用来优化程序读取text.js。

https://github.com/jrburke/r.js/issues/221



文章来源: Require.js + Backbone optimization