我可以在命名集中导出多个命名导出而不影响对变量的调用吗?
Can I export multiple named exports in a named set without affecting call to variable?
我有常量文件:
export const VAR1 = 'VAR1';
export const VAR2 = 'VAR2';
export const VAR3 = 'VAR3';
export const VAR4 = 'VAR4';
export const VAR5 = 'VAR5';
export const VAR6 = 'VAR6';
export const VAR7 = 'VAR7';
export const VAR8 = 'VAR8';
export const VAR9 = 'VAR9';
export const VAR10 = 'VAR10';
有些常量可以单独使用,有些常量我在几个文件中作为特定集合使用,例如:
import {VAR1, VAR2, VAR3, VAR8, VAR9, VAR10} from './constants'
我可以在一个集合中有多个导出,以便它们可以轻松地导入多个文件,但使用相同的名称调用吗?例如:
export set1 = [VAR1, VAR2, VAR3, VAR8, VAR9, VAR10];
然后在文件中:
import set1 from './constants';
if(input === VAR1) doSomething()
所以我希望能够一次性导入多个命名的导出,但仍然能够简单地通过它们的名字来调用它们。
你可以这样做,虽然你的导出和使用不正确,但它会是(但请继续阅读):
export const VAR1 = "VAR1";
export const VAR2 = "VAR2";
// ...
export const set1 = [VAR1, VAR2, /*...*/];
// or probably more usefully, as an object:
export const set1 = {VAR1, VAR2, /*...*/};
那么导入和使用就是:
import { set1 } from "./constants";
// If you use an array:
if (input === set1[0]) doSomething();
// Or if you use an object:
if (input === set1.VAR1) doSomething();
请注意,在这两种情况下,导出的 VAR1
(等)和导出的 set1
之间没有正在进行的 link .但是由于 VAR1
等是常量,所以没关系,它们的值永远不会改变。 (如果它们不是常量, 会 很重要,因为集合只有在导出发生时的值,而不是稍后更新的值。)
或使用默认导出(我不喜欢它们,但有些人喜欢):
export const VAR1 = "VAR1";
export const VAR2 = "VAR2";
// ...
export default [VAR1, VAR2, /*...*/];
// or probably more usefully, as an object:
export default {VAR1, VAR2, /*...*/};
那么导入和使用就是:
import set1 from "./constants";
// If you use an array:
if (input === set1[0]) doSomething();
// Or if you use an object:
if (input === set1.VAR1) doSomething();
或者您可以单独保留导出并进行模块命名空间导入:
import * as set1 from "./constants";
if (input === set1.VAR1) doSomething();
我有常量文件:
export const VAR1 = 'VAR1';
export const VAR2 = 'VAR2';
export const VAR3 = 'VAR3';
export const VAR4 = 'VAR4';
export const VAR5 = 'VAR5';
export const VAR6 = 'VAR6';
export const VAR7 = 'VAR7';
export const VAR8 = 'VAR8';
export const VAR9 = 'VAR9';
export const VAR10 = 'VAR10';
有些常量可以单独使用,有些常量我在几个文件中作为特定集合使用,例如:
import {VAR1, VAR2, VAR3, VAR8, VAR9, VAR10} from './constants'
我可以在一个集合中有多个导出,以便它们可以轻松地导入多个文件,但使用相同的名称调用吗?例如:
export set1 = [VAR1, VAR2, VAR3, VAR8, VAR9, VAR10];
然后在文件中:
import set1 from './constants';
if(input === VAR1) doSomething()
所以我希望能够一次性导入多个命名的导出,但仍然能够简单地通过它们的名字来调用它们。
你可以这样做,虽然你的导出和使用不正确,但它会是(但请继续阅读):
export const VAR1 = "VAR1";
export const VAR2 = "VAR2";
// ...
export const set1 = [VAR1, VAR2, /*...*/];
// or probably more usefully, as an object:
export const set1 = {VAR1, VAR2, /*...*/};
那么导入和使用就是:
import { set1 } from "./constants";
// If you use an array:
if (input === set1[0]) doSomething();
// Or if you use an object:
if (input === set1.VAR1) doSomething();
请注意,在这两种情况下,导出的 VAR1
(等)和导出的 set1
之间没有正在进行的 link .但是由于 VAR1
等是常量,所以没关系,它们的值永远不会改变。 (如果它们不是常量, 会 很重要,因为集合只有在导出发生时的值,而不是稍后更新的值。)
或使用默认导出(我不喜欢它们,但有些人喜欢):
export const VAR1 = "VAR1";
export const VAR2 = "VAR2";
// ...
export default [VAR1, VAR2, /*...*/];
// or probably more usefully, as an object:
export default {VAR1, VAR2, /*...*/};
那么导入和使用就是:
import set1 from "./constants";
// If you use an array:
if (input === set1[0]) doSomething();
// Or if you use an object:
if (input === set1.VAR1) doSomething();
或者您可以单独保留导出并进行模块命名空间导入:
import * as set1 from "./constants";
if (input === set1.VAR1) doSomething();