Webpack 4如何将源要求为单独的块并按需加载

时间:2018-12-17 06:26:13

标签: javascript webpack ecmascript-6 import

我注意到,当我以旧的方式导入源代码时,像这样:require('./my-script'),它将脚本代码注入到main bundle.js中。

当我这样导入时:import('./my-script') 它创建了一个单独的新文件,我什至可以用以下名称命名:

import(/* name.js */ './my-script');

那很好,但是以使用导入而不是require的新方式-如何将参数发送到导入的函数?

例如,在require我可以做require('./my-script')('something');

但是,使用 import

无法实现

如何将参数传递给导入的函数并将其作为webpack中的单独块?

这是my-script.js(仅作为示例):

// my-script.js
module.exports = str => {
  return `${str} was returned`;
}

1 个答案:

答案 0 :(得分:1)

import(name)用于代码拆分(创建单独的块),并且一旦异步检索了块,将为模块的导出返回承诺。

在您的示例中,它可以与以下内容一起使用:

dcast(melt(dataset, id.vars = c("id", "cat1")), id + cat1 ~ value, fun.aggregate = length)

Dynamic imports部分提供了更完整的示例,并描述了如何使用import('./my-script').then(myScript => myScript.default('hello')) 进行代码拆分,在Magic Comments中列出了一些选项,您可以使用这些选项来控制如何创建块以及何时检索它,以便您调整用户体验。