您可以在项目之间共享一个 gulp 框架吗?
Can you share a gulp framework between projects?
我有很多项目都遵循特定的文件夹结构和约定。
我不想复制整个项目,而是希望每个项目都有一个配置对象,并且每个项目都链接到全局框架。
示例:
/gulp-framework
index.js
/project-a
gulpfile.js
configuration.js
/project-b
gulpfile.js
configuration.js
里面index.js
var configuration = require('configuration');
里面 configuration.js:
module.exports = function() {
return { foo : true };
}
在 gulp 文件中我会有:
require('./configuration');
require('../gulp-framework');
但是 运行 gulp 给我留下了一个错误
'Cannot find module configuration'.
我想我想做的就是将配置对象传递给全局框架,但运气不佳。
想法?
基本上在index.js
中使用require('configuration')
会在/gulp-framework/node_modules/
中寻找configuration
模块。它不会从 project-a
或 project-b
加载 configuration.js
。 (阅读更多关于 require()
如何工作的确切逻辑 here。)
您需要明确地将配置和 gulp 对象从 gulpfile.js
传递到 index.js
:
每个gulpfile.js:
var config = require('./configuration.js');
var gulp = require('../gulp-framework')(require('gulp'), config);
// project-specific stuff using gulp and config goes here
在index.js:
module.exports = function(gulp, config) {
// project-independent stuff using gulp and config goes here
return gulp;
};
我有很多项目都遵循特定的文件夹结构和约定。
我不想复制整个项目,而是希望每个项目都有一个配置对象,并且每个项目都链接到全局框架。
示例:
/gulp-framework
index.js
/project-a
gulpfile.js
configuration.js
/project-b
gulpfile.js
configuration.js
里面index.js
var configuration = require('configuration');
里面 configuration.js:
module.exports = function() {
return { foo : true };
}
在 gulp 文件中我会有:
require('./configuration');
require('../gulp-framework');
但是 运行 gulp 给我留下了一个错误
'Cannot find module configuration'.
我想我想做的就是将配置对象传递给全局框架,但运气不佳。
想法?
基本上在index.js
中使用require('configuration')
会在/gulp-framework/node_modules/
中寻找configuration
模块。它不会从 project-a
或 project-b
加载 configuration.js
。 (阅读更多关于 require()
如何工作的确切逻辑 here。)
您需要明确地将配置和 gulp 对象从 gulpfile.js
传递到 index.js
:
每个gulpfile.js:
var config = require('./configuration.js');
var gulp = require('../gulp-framework')(require('gulp'), config);
// project-specific stuff using gulp and config goes here
在index.js:
module.exports = function(gulp, config) {
// project-independent stuff using gulp and config goes here
return gulp;
};