我有 6 个文件
gastronomia.jsx
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`));
驱逐.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/deporte/${i}.png`));
diversion.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`));
礼品卡.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`));
贝勒扎.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`));
我想将所有这些放入一个文件providers.jsx中,每个文件作为const例如:
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);
最佳答案
另一种选择是使用另一个包含这些文件的文件,例如 constants.js
,然后在该文件中:
// constants.js
import gastronomia from './gastronomia'
import deporte from './deporte'
import diversion from './diversion'
etc
export { gastronomia, deporte, diversion, etc. }
然后在您的目标模块中,您可以将它们全部导入一行:
import { gastronomia, deporte, diversion, etc. } from './constants.js'
这需要更多的前期工作,但最终您会得到一个文件来管理导入和导出,并且在使用这些常量的目标模块中,您只需一行即可将它们全部导入。这是我的首选方法,它使一切井井有条。
编辑:
您可以将所有常量粘贴在声明它们的文件末尾的单个对象中:
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`));
const todasLasCosas = {
gastronomiaExperience: gastronomiaExperience,
giftcardExperience: giftcardExperience,
deporteExperience: deporteExperience,
productosExperience, // this is the same as saying 'productosExperience: productosExperience'
diversionExperience,
bellezaExperience
}
export default todasLasCosas
然后在你的目标模块中:
从“./todasLasCosas.js”导入todasLasCosas
请注意此导入语句中缺少大括号。当您导入默认导出(也称为未命名导出)时,不需要花括号。然后在您的文件中您可以访问如下内容:
todaslasCosas.gastronomiaExperience
todaslasCosas.bellezaExperience
关于javascript - React - 我有六个文件导出一个变量,并希望从一个文件导出所有变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59761954/