Optimization 我可以影响requirejs优化定义名称吗

Optimization 我可以影响requirejs优化定义名称吗,optimization,requirejs,javascript,naming,Optimization,Requirejs,Javascript,Naming,对于我们的项目,我们有一个api和一个站点。大部分代码都位于api中,应该允许我们使用相同的api创建不同的页面。 我有一些问题要完全理解应用于我的api文件的requirejs优化版本的命名,我想在我的优化文件中为定义“myname”强制一些特定的命名。 下面是一个文件结构示例: api/ sources/ js/ sub1/ file_a.js `define([], function(){});`

对于我们的项目,我们有一个api和一个站点。大部分代码都位于api中,应该允许我们使用相同的api创建不同的页面。 我有一些问题要完全理解应用于我的api文件的requirejs优化版本的命名,我想在我的优化文件中为定义“myname”强制一些特定的命名。 下面是一个文件结构示例:

api/
  sources/
        js/
         sub1/
            file_a.js    `define([], function(){});`
            file_b.js    `define([], function(){});`
         file_a.js       `define(['file_b', 'sub1/file_a'], function(){});`
         file_b.js       `define(['sub1/file_b'], function(){});`
优化后的输出将如下所示:

优化的.js:

defined('js/sub1/file_a', [], function(){});
defined('js/sub1/file_b', [], function(){});
defined('js/file_b', [], function(){});
defined('js/file_a', [], function(){});
有没有办法确保命名定义是:

defined('myapi/sub1/file_a', [], function(){});
defined('myapi/sub1/file_b', [], function(){});
defined('myapi/file_b', [], function(){});
defined('myapi/file_a', [], function(){});
还是这是错误的方法

在站点的javascript文件上,我将使用以下名称引用它们:

app.js

define(['optimized'], function(){
     define(['myapi/sub1/file_a'], function(FileA){});
 });
api/libs文件夹结构和优化的最佳实践是什么?欢迎任何反馈

编辑

我正在使用grunt进行构建,mi配置是preety直接提供的

requirejs: {
  compile: {
     options: {
        baseUrl: "api/sources/js",
        mainConfigFile: "api/sources/js/requireBuildConfig.js",
        name: "main.js", // assumes a production build using almond
        out: "path/to/optimized.js",
        includes: [
           'sub1/file_a',
           'sub1/file_b', 
           'file_b',
           'file_a', 
        ]
     }
  }

}

上一个代码块中的define中到底定义了什么?另外,您应该显示传递给r.js的构建配置。define中的define是访问优化的.js中的类型所必需的。我正在使用grunt contrib requirejs进行构建。我为虚拟示例添加了一个配置,以满足您与我的代码匹配的一致性。