需要构建文件组合上的 JS

require js on build file combine

本文关键字:JS 组合 文件 构建      更新时间:2023-09-26

我在我的单页应用程序中使用 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
})

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

我发现我需要使appdirbaseUrl中的任何一个/两者成为一个包含我的代码和库代码的目录 - 在您的情况下,这将是./app/js./app(取决于您是否也希望合并您的模板)。

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

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

为了您的兴趣,我包括我的选项:注意我正在从节点优化.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'
  }
};

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