Javascript React-我有六个导出变量的文件,希望所有变量都从一个文件导出
我有6个文件 天麻Javascript React-我有六个导出变量的文件,希望所有变量都从一个文件导出,javascript,reactjs,Javascript,Reactjs,我有6个文件 天麻 import _range from 'lodash/range'; // eslint-disable-next-line global-require, import/no-dynamic-require export default _range(1, 5).map(i => require(`assets/experiences/gastronomia/${i}.png`)); 驱逐出境 import _range from 'lodash/range'; /
import _range from 'lodash/range';
// eslint-disable-next-line global-require, import/no-dynamic-require
export default _range(1, 5).map(i => require(`assets/experiences/gastronomia/${i}.png`));
驱逐出境
import _range from 'lodash/range';
// eslint-disable-next-line global-require, import/no-dynamic-require
export default _range(1, 3).map(i => require(`assets/experiences/deporte/${i}.png`));
jsx.jsx
import _range from 'lodash/range';
// eslint-disable-next-line global-require, import/no-dynamic-require
export default _range(1, 4).map(i => require(`assets/experiences/diversion/${i}.png`));
giftcard.jsx
import _range from 'lodash/range';
// eslint-disable-next-line global-require, import/no-dynamic-require
export default _range(1, 12).map(i => require(`assets/experiences/giftcard/${i}.png`));
belleza.jsx
import _range from 'lodash/range';
// eslint-disable-next-line global-require, import/no-dynamic-require
export default _range(1, 3).map(i => require(`assets/experiences/belleza/${i}.png`));
productos.jsx
import _range from 'lodash/range';
// eslint-disable-next-line global-require, import/no-dynamic-require
export default _range(1, 2).map(i => require(`assets/experiences/productos/${i}.png`));
我想把所有这些都放在一个file providers.jsx中,每个都作为常量,例如:
const gastronomiaExperience = _range(1, 2).map(i => require(`assets/experiences/productos/${i}.png`));
const deporteExperience = _range(1, 3).map(i => require(`assets/experiences/deporte/${i}.png`));
然后导出这6个常量,这样我就可以在另一个文件中将它们用作数组了
我试过这样做,但不知道是否正确
import _range from 'lodash/range';
// eslint-disable-next-line global-require, import/no-dynamic-require
const gastronomiaExperience = _range(1, 5).map(i => require(`assets/experiences/gastronomia/${i}.png`));
const giftcardExperience = _range(1, 12).map(i => require(`assets/experiences/giftcard/${i}.png`));
const deporteExperience = _range(1, 3).map(i => require(`assets/experiences/deporte/${i}.png`));
const productosExperience = _range(1, 2).map(i => require(`assets/experiences/productos/${i}.png`));
const diversionExperience = _range(1, 4).map(i => require(`assets/experiences/diversion/${i}.png`));
const bellezaExperience = _range(1, 3).map(i => require(`assets/experiences/belleza/${i}.png`));
export default (gastronomiaExperience, giftcardExperience, deporteExperience, productosExperience, diversionExperience, bellezaExperience);
要导出许多函数,文件中的对象使用名为export的 在您的场景中,导出provider.jsx中的函数
出口{gastronomiaExperience,experience}
:
使用名称导出,有关更详细的说明,请查看另一个选项是使用这些文件创建另一个文件,例如
constants.js
,然后在该文件中:
//constants.js
从“/gastronomia”导入gastronomia
从“./递解出境”导入递解出境
从“./转移”导入转移
等
出口{美食、驱逐、转移等}
然后,在目标模块中,您可以在一行中导入它们:
从“/constants.js”导入{gastronomia、驱逐、转移等}
前面的工作稍微多一些,但最终只有一个文件管理导入和导出,在使用这些常量的目标模块中,只有一行将它们全部导入。这是我喜欢的方法,它让一切都井然有序
编辑:
您可以将所有常量粘贴在一个对象的文件末尾,声明它们:
import_范围从'lodash/range'开始;
//eslint禁用下一行全局要求,导入/无动态要求
const gastronomiaExperience=_range(1,5).map(i=>require(`assets/experiences/gastronomia/${i}.png`));
const giftcardExperience=_range(1,12).map(i=>require(`assets/experiences/giftcard/${i}.png`));
const-reporteeexperience=_range(1,3).map(i=>require(`assets/experiences/reporte/${i}.png`));
const productosExperience=_range(1,2).map(i=>require(`assets/experiences/productos/${i}.png`));
const diversionExperience=_range(1,4).map(i=>require(`assets/experiences/diversion/${i}.png`));
const bellezaExperience=_range(1,3).map(i=>require(`assets/experiences/belleza/${i}.png`));
常数todasLasCosas={
美食体验:美食体验,
giftcardExperience:giftcardExperience,
驱逐体验:驱逐体验,
productosExperience,//这与说“productosExperience:productosExperience”相同
多样化的体验,
贝勒扎经验
}
将默认值导出到ASCOSAS
然后在目标模块中:
从“/todasLasCosas.js”导入todasLasCosas
注意这个import语句中缺少大括号。导入默认导出(也称为未命名导出)时,不需要大括号。然后,您可以在文件中访问以下内容:
todaslasCosas.gastronomiaExperience
todaslasCosas.BellezaeExperience
在providers.jsx
中导出默认值[gastronomiaExperience,ParadeExperience,…]
?我想减少我的文件,因此我想将所有这些文件减少为一个无法工作的文件。默认情况下,不能导出多个命名常量。一个文件只能导出一个默认内容。因此,在上面的编辑中,您需要进行导出{gastronomiaExperience,giftcardeexperience,laqueeeexperience…}
。然后在您的目标模块中,您将执行导入{gastronomiaExperience,giftcardeexperience,releaseeexperience…}
另一种常见的方法是获取所有要导入的常量,并将它们粘贴到对象中。我将编辑我的答案以显示这一点。不,您不能,一个文件只能有一个默认导出,您试图做的是将所有函数导出为默认导出,这是不可能的。