我正在尝试构建我的资产,以便多个项目可以共享构建脚本的“阶段”。例如,如果我有 3 个都使用 Bootstrap 和 jQuery 的基于 Web 的产品,我只想从共享的“库”中获取库。
建议文件夹的结构如下:
shared
-sharedGrunt.js (file)
-lib (folder)
-bootstrap (folder)
-jQuery.js (file)
app1
-Gruntfile.js (file)
-src (folder)
-images (folder)
-js (folder)
-etc
app2
-Gruntfile.js (file)
-src (folder)
-images (folder)
-js (folder)
-etc
我希望每个“app”文件夹中的 Gruntfile.js 能够“导入”或以其他方式执行sharedGrunt.js
. 我还没有跨过那座桥,因为我被困在第一个概念验证测试中:一个简单的副本。
因此,在应用程序的一个Gruntfile.js
文件中,我有一个如下所示的复制任务:
copy: {
externalTest: {
expand: true,
src: '../shared/lib/jQuery.js',
dest: 'dev/js/jQuery.js',
flatten: true
}
}
如您所见,我尝试从 Gruntfile 上一层。这是包含“shared”、“app1”和“app2”的目录。然后向下导航到共享库文件夹以获取 jQuery。
任务“成功”(没有抛出实际错误),但没有文件被复制。
我怎样才能实现我的目标?我是否需要将“包罗万象”的 gruntFile 放入包含所有项目的“父”文件夹中?我不希望开发人员要求检查整个父母。我希望开发人员能够检查“app1”和“shared”并使用它运行。