Javascript 如何从文件中只导入所需的函数,而不是导入所有函数 这是我的functions.js文件

Javascript 如何从文件中只导入所需的函数,而不是导入所有函数 这是我的functions.js文件,javascript,reactjs,Javascript,Reactjs,这是react应用程序的主要js文件 import {f1} from './functions'; //在某处使用f1 当我在我的网页上转到控制台并单击捆绑包时,我可以看到f2也在下载 是否有任何版本的import方法允许我们只下载所需的js函数,而不下载导入文件的所有函数 为函数创建单独的文件是唯一的解决方案???请升级到版本2或更新版本,因为它支持消除未使用的导出 由于Webpack 2支持本机ES6模块,您必须通过配置babel loader预设(在es2015预设中设置module

这是react应用程序的主要js文件

import {f1} from './functions';
//在某处使用f1


当我在我的网页上转到控制台并单击捆绑包时,我可以看到f2也在下载

是否有任何版本的import方法允许我们只下载所需的js函数,而不下载导入文件的所有函数

为函数创建单独的文件是唯一的解决方案???

请升级到版本2或更新版本,因为它支持消除未使用的导出

由于Webpack 2支持本机ES6模块,您必须通过配置
babel loader
预设(在
es2015
预设中设置
modules:false
)来禁用
babel
将ES6模块传输到通用js格式:


树摇动应适用于此配置,使用控制台或进行检查。

如果要按需加载某些代码段,而不是一次加载所有代码段,请查看代码拆分。如果您想将未损坏的函数完全排除在包之外,请查看树抖动。这两种功能在Webpack2中都得到了开箱即用的支持(尽管它们的设置往往有点棘手)。这被称为树摇动,或死代码elimination@JoeClay谢谢因此,我认为这将解决我的问题,我将能够做到这一点。那太好了。“我来劈树摇树了。”欧姆里卢松明白了。谢谢
import {f1} from './functions';
{
  test: /\.js$/,
  exclude: /node_modules/,
  loader: 'babel-loader',
  options: {
    presets: [
      [
        'es2015', {
          modules: false
        }
      ]
      ...
    ]
  }
}