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

时间:2014-12-12 16:56:52

标签: optimization requirejs javascript naming

对于我们的项目,我们有一个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(){});`

优化的输出看起来像这样:

optimized.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配置是直截了当的。

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', 
        ]
     }
  }

}

0 个答案:

没有答案