This question already has an answer here:
Loading requirejs modules Dynamically with sugar syntax
(1个答案)
3年前关闭。
我正在尝试将数据列表映射到我的数组,如下所示:
尝试时不断出现以下错误:
“尚未为上下文加载模块名称“ ...”:_ http://requirejs.org/docs/errors.html#notloaded”
我在这里做错了什么?没有下划线与require一起使用的选项吗?
谢谢
(1个答案)
3年前关闭。
我正在尝试将数据列表映射到我的数组,如下所示:
this.data = [];
_.map(dataList, function(element){
var logic = require('./'+element+'/'+element);
var tempalte = require('text!./' + element + '/' + element + '.html');
return { Logic : logic, Template : tempalte };
});
尝试时不断出现以下错误:
“尚未为上下文加载模块名称“ ...”:_ http://requirejs.org/docs/errors.html#notloaded”
我在这里做错了什么?没有下划线与require一起使用的选项吗?
谢谢
最佳答案
require.js
实际上在加载代码时会静态分析您的代码,并搜索要加载的模块。实际上发生这种情况是因为require.js
实现了AMD(异步模块定义)规范而不是CommonJS。对于我们作为开发人员的人来说,这种语法是一种帮助(或语法糖)。这样,当您的父模块被加载时,实际上它的所有依赖项也被加载了,然后require.js
“运行”它,这给了您同步加载的感觉(或这种语法的清单)。
TL; DR:无法使用此语法动态加载模块。
我认为,像这样动态加载模块不是一个好习惯,因为我不确定您是否可以使用r.js
对其进行优化。