我应该使用*
导入节点模块吗?示例
import * from 'express';
import * from './../../myCode';
通过使用*导入所有导出将使我带来将增加文件大小的功能是否正确。
答案 0 :(得分:6)
import * as myCode from './../../myCode';
这会将myCode插入当前范围,其中包含位于./../../myCode
的文件中模块的所有导出。
import React, { Component } from 'react';
class myComponent extends Component { ... }
通过使用上面的语法,您的bundler(例如:webpack)仍会捆绑ENTIRE依赖项,但由于Component
模块是以{ }
方式导入命名空间的,因此我们可以引用它使用Component
代替React.Component
。
有关详细信息,请参阅mozilla ES6 module docs。
答案 1 :(得分:1)
答案是,这取决于:导入/导出没有最佳实践,因为它取决于您和您的用例。但通常我只会导入我需要的东西,而不是一切。是的,如果您执行import *
,bundle.js
的文件大小可能很大。