ES6全局导入

20

如何在项目的所有文件中导入一些模块,以便我不必写诸如以下代码:

import React from 'react';
import Reflux from 'reflux';
import reactMixin from 'react-mixin';

几乎在每个文件中都有吗?

2个回答

14

另一个答案已经涵盖了这一点,但没有使用有效的ES6语法,所以我正在添加我的内容。 在某个中心的react.js文件中创建一个用于导入你的React组件的中心文件。

export {default as React} from 'react';
export {default as Reflux} from 'reflux';
export {default as reactMixin} from 'react-mixin';

然后在需要使用这三个的文件中,您可以这样做

import {React, Reflux, reactMixin} from './react';

将这三个全部导入到你的组件文件中。


好的解决方案。你也有导入所有内容的能力(例如,如果你只需要那个,你可以这样写:import {React, Reflux} from './react'; - Ruby Racer
如果我在“不需要它”的地方到处导入所有这些东西,文件大小会增加吗?比如,只需将任何文件都可以使用的所有内容导入以确保安全。(在不使用请求的组件中导入axios) - Vael Victus
React从v17开始不需要在每个文件中导入react.js,而是需要单独导入hook,这是有原因的。是的,它会影响捆绑大小。这就是为什么从包含许多导出的索引导入不是一个好主意的原因...(如果它不影响捆绑大小,React也不需要导入其他东西)。 - C.L.

8
创建一个“基础”文件,声明常用的导入项,然后可以导入该文件。

2
@user860478:那个文件大概是这样的 import React from 'react'; import Reflux from 'reflux'; export {React, Reflux},你可以在任何地方使用它,比如 import {React, Reflux} from 'path/to/base' - Felix Kling

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接