webpack从不同的文件导入函数

时间:2017-11-09 19:05:35

标签: javascript webpack

我需要从不同的文件中导入所有函数并将它们用作普通函数,只需按名称调用它们:helloWorld()

基本上我想从不同的文件中导入函数,并在此文件的范围内使用其中的一些函数。我知道eval(),但我听说它很危险。

我知道两种方式,但没有一种是完美的。

如果你在functions.js文件中有千个函数,那么这个函数很糟糕,因为你必须在这个导入中将它们全部命名。

import { doSomething } from './functions.js';

这个很糟糕,因为你必须在所有外部函数之前指定前缀。

import * as f from './functions.js'; 

我想要这样的东西

import * from './functions.js';

你可以像这样调用函数:

helloWorld();
makeMeSomeCoffee();

我的目标是在几个电子窗口之间共享一些常用功能。我想为我的代码添加一些模块化,并遵守DRY原则。

有关如何实现这一目标的任何线索?

2 个答案:

答案 0 :(得分:1)

Webpack的ProvidePlugin可能会帮助你解决这个问题。

new webpack.ProvidePlugin({
  helloWorld: ['./functions', 'helloWorld'],
  // ...
})

虽然对我来说确实有点过分,但我可能会坚持使用破坏性的导入。

答案 1 :(得分:0)

如果您只是捆绑JS并且不使用Node作为服务器,我会使用webpack脚本加载器。

您可以通过NPM安装它,这里是文档: https://webpack.js.org/loaders/script-loader/