2つのエントリポイントを含むプロジェクトがあり、2つのpackage.jsonがあります。私はjavascript/lessファイルをビルドするためにこの2つのフォルダにgulpを使用しています。NodeJSは、必要なnode_modulesパスを指定します
コードの重複を避けるために共通の機能を使用したいと考えています。 ここで
- DIRA/
- node_modules/
- gulpfile.js
- DIRB/
- node_modules/
- gulpfile.js 構造であります
- グッ
- bootstrap.jsグッ/ブートストラップで
は、私はDIRA/gulpfileで
'use strict';
global._ = require('lodash');
global.gulp = require('gulp');
global.$ = require('gulp-load-plugins')();
global.argv = require('yargs').argv;
global.source = require('vinyl-source-stream');
global.buffer = require('vinyl-buffer');
global.watchify = require('watchify');
/**
* Handle tasks errors
* @param {Object} err
*/
global.onError = function onError(err) {
if (isProd()) {
$.util.log($.util.colors.red(err));
process.exit(1);
} else {
$.util.log($.util.colors.red(err));
this.emit('end');
}
};
/**
* return true if argv env is prod
* @return {boolean}
*/
global.isProd = function isProd() {
return argv.env === 'prod';
};
global.isWatch = function() {
return !!argv.watch;
};
$.util.log($.util.colors.yellow('Production env: ', isProd()));
$.util.log($.util.colors.yellow('Watch mode: ', isWatch()));
及びDIRB/gulpfile等気にいらを有しますgulpfile.jsの先頭にrequire('../gulp/bootstrap');
のgulp/bootstrapをインポートしたいと思います。 しかし、node_modules /フォルダを含むフォルダにブートストラップファイルが必要な場合でも、require関数はbootstrap.jsに必要なモジュールを見つけることができません。 gulp /フォルダ内のnode_modules /を検索します...
基本パスを使用するためにはrequireが必要ですか? [process.cwd(), 'node_modules'].join('/');