0

我在我的单页应用程序中使用 require js,我想知道是否可以将所有模块、供应商库(jQuery、Underscore、Backbone)组合在一个文件中,因为这会加速我的应用程序。

app
  css
  html
    homepage
       main.html
       login.html
       signup.html
  js
    build.js
    libs
        jquery.js
        backbone.js
        underscore.js
        require.js
    modules
       collections
       models
       views
       main
          main.js
          app.js
          router.js
app-build

我的构建配置文件目前是:

({
    appDir: '../',
    baseUrl: 'js/modules',
    mainConfigFile: 'modules/main/main.js',
    dir: '../../app-build',
    optimize: 'uglify',
    uglify: {
        toplevel: true,
        ascii_only: true,
        beautify: true,
        max_line_length: 1000
    },
    preserveLicenseComments: true,
    logLevel: 0
})
4

1 回答 1

4

我当然不是这方面的专家,但我确实设法让这个项目为我的一个项目工作,诚然,主要是通过反复试验。

我发现我需要创建一个/两个,appdir并且baseUrl是一个包含我的代码和库代码的目录 - 在你的情况下,这将是./app/js./app(取决于你是否还想要组合你的模板)。

我还提供了各种库函数的路径。

让它工作后,我真的应该回去看看什么是真正需要的,什么是货物崇拜编码。现在我有更紧迫的代码要写......

为了您的兴趣,我包括了我的选项:注意我正在从 node.js 优化rjs.optimize(...)

var options = {
  baseUrl: "./site/app",
  appdir: "./site/app",
  name: "js/main",
  out: "main-built.js",
  paths: {
    jQuery: 'js/libs/jquery/jquery',
    Underscore: 'js/libs/underscore/underscore',
    Backbone: 'js/libs/backbone/backbone',
    Handlebars: 'js/libs/handlebars/handlebars',
    templates: 'templates'
  }
};

我不希望这是正确的答案,但希望它会引导您到有用的地方。

于 2012-05-30T12:24:52.333 回答