首先,当您键入require('./Animations/1.js')
等时,您正在输入实际的程序语句(“命令”)而不是JavaScript对象(“数据”)。数组包含值,而不是命令。尽管如此,你可以有一个模块/文件名称的数组,其名称是用引号括起来的字符串。您可以在require
语句中使用变量,并执行任何要操作的内容并更改该变量的值。所以如果你想从一个名称数组中随机选择一个名字,并在require
声明中使用该名称,那么你当然可以这样做。
我想这和它的作品:
var fileNames = [
'mouse',
'bird',
'rabbit'
];
var n = Math.floor(Math.random() * fileNames.length);
var url = './' + fileNames[n] + '.js';
require(url);
animate();
我使用随机的文件名(“鼠标”,“鸟”,“兔”)我的例子,因为你并不总是有一个适合的名字一个很好的数字序列没有空白。但是,如果您确定自己的名称符合整洁,定义明确的模式,那么当然可以相应地组织您的代码。
要回答原始问题“您能否将模块导入数组?”,答案是肯定的,如果您确实想这样做。如果你开始与require
报表工作,你可能已经看到他们被用来给值的变量,就像这样:
var Mouse = require './mouse';
var Bird = require './bird';
var Rabbit = require './rabbit';
然后,您可以填补与该模块实际引用数组,而不是只是他们的名字:
var modules = [Mouse, Bird, Rabbit];
我不知道这是怎么在阵列中完成,但也许你可以做这样的事情。 var(Math.random()* 3)+ 1);然后做这个require('./ Animations /'+ num +'.js'); – schylake