Optimization 我可以影响requirejs优化定义名称吗
对于我们的项目,我们有一个api和一个站点。大部分代码都位于api中,应该允许我们使用相同的api创建不同的页面。 我有一些问题要完全理解应用于我的api文件的requirejs优化版本的命名,我想在我的优化文件中为定义“myname”强制一些特定的命名。 下面是一个文件结构示例: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/
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进行构建。我为虚拟示例添加了一个配置,以满足您与我的代码匹配的一致性。