是否有一个GruntJS任务将从源代码模板构建一个JS闭包

Is there a GruntJS task that will build a JS closure from a source code template?

本文关键字:一个 闭包 JS 构建 任务 GruntJS 有一个 源代码 是否      更新时间:2023-09-26

我需要一种方法来组织第三方javascript小部件的源代码;它是一个大的闭包,在主机站点的名称空间中只有一个变量。这个小部件将包含在一个单独的js模块/闭包中。像jQuery这样的东西是使用intro.js和outro.js构建的,这会创建大量无效的javascript。例如,来自jQuery的introjs文件:

(function() {

我需要的是一种方法,使文件看起来像这样:

var _ns || _ns = (function() {
  /* --include(src/module1.js)-- */
  /* --include(src/module2.js)-- */
  return { pub: api };
});

有一个GruntJS任务像这样的东西吗?这与concat/uglify等不同。我知道使用concat我可以像jQuery团队那样做。我尽量避免这种情况。另外,我不能使用requireJS,因为它会污染主机站点的js命名空间。

在谷歌上搜索这个是非常困难的,因为有一些非常流行的相互矛盾的结果。

Checkout - Grunt-wrap它就是这样做的。