Requirejs优化多个项目或页面



如何优化我的多个requirejs项目?例如,我在下面的结构中,在不同的位置/文件夹中有两个main.js

build/
   build.js
dev/    
   index.php
    core/
      js/
       main.js
       libs/
          jquery.js

    local/
      js/
        main.js

我的build/build.js

({
    // Where my HTML and JS is stored.
    appDir: "../dev/",
    // Top-level directory containing my JS:
    baseUrl: "local/view/javascript/base/",
    // Where to build the optimized project.
    dir: "../dist",
    // Define the modules to compile.
    modules: [
        {
            name: 'main',
            mainConfigFile: '../dev/local/js/main.js'
        },
        {
            name: 'main',
            mainConfigFile: '../dev/core/js/main.js'
        }
    ]
})

它不断压缩或查找依赖项失败,例如

错误:ENOENT,没有这样的文件或目录'c:\wamp\websitename\dist\local\js\jquery.js

我的query.js位于core/js/libs/-乳清中,它在localjs中寻找它吗?

我错过了什么?

mainmodules设置中出现两次。所以你是在告诉r.js"请在../dist中使用这样那样的选项创建模块main,并在../dist中创建不同的模块main"。r.js应该如何创建两个不同的模块,它们应该是../dist中的相同文件?它不能。

你也不能像你那样把mainConfigFile放在模块配置中。它是一个顶级选项,所以如果你想有一个每个模块的设置,你需要使用override。设置mainConfigFile并不能告诉r.js您实际上正在尝试优化哪个模块。

根据你在问题中描述的内容,似乎需要这样的东西:

({
    // Where my HTML and JS is stored.
    appDir: "../dev/",
    // Top-level directory containing my JS:
    baseUrl: "local/view/javascript/base/",
    // Where to build the optimized project.
    dir: "../dist",
    // Define the modules to compile.
    modules: [
        {
            // Give a unique name.
            name: 'main_local',
            // This module does not exist in the source so tell r.js to 
            // *create* it.
            create: true,
            // What we want in it.
            include: ['../dev/local/js/main.js'],
            // "Override" the top level mainConfigFile, just for this module.
            override: {
                mainConfigFile: '../dev/local/js/main.js'
            }
        },
        {
            name: 'main_core',
            create: true,
            include: ['../dev/core/js/main.js'],
            override: {
                mainConfigFile: '../dev/core/js/main.js'
            }
        },
    ]
})

相关内容

  • 没有找到相关文章

最新更新