我注意到,当我以旧的方式导入源代码时,像这样: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`;
}
答案 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中列出了一些选项,您可以使用这些选项来控制如何创建块以及何时检索它,以便您调整用户体验。