You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript动态import:非模块Gulpfile中批量导入多函数可行吗?

解决方案

当然不用逐行重复编写,有更简洁的方式,还能避免重复加载模块:

方法一:缓存模块Promise,批量生成函数

先预存del模块的加载Promise,再基于它创建你需要的所有函数,不用每次重复执行import('del'):

// 先缓存模块的Promise,仅加载一次
const delModulePromise = import('del');

// 批量定义需要的函数
const del = (...args) => delModulePromise.then(mod => mod.deleteAsync(...args));
const delSync = (...args) => delModulePromise.then(mod => mod.deleteSync(...args));
// 其他需要的方法可按此格式追加

方法二:在gulp任务内部直接解构(更直观)

如果你的gulp任务本身是异步函数(支持async/await),可以直接在任务里一次性导入并解构出多个方法,无需单独定义全局函数:

gulp.task('clean', async () => {
  const { deleteAsync: del, deleteSync: delSync } = await import('del');
  
  // 直接使用del或delSync
  await del('./dist/**/*');
  delSync('./temp/**/*');
});

这两种方式都能避免重复编写导入逻辑,让代码更简洁。

内容的提问来源于stack exchange,提问作者Recurs1on

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 12:51:03