最近 gulpfile を書き直しましたが、保存時にメインの .coffee ファイルがバンドルされることを除いて、以前よりも良くはないにしても、すべてが非常にうまく機能していますが、必要なファイルのいずれもバンドルをトリガーせず、理由がわかりません。ここに私のファイルがあります:
設定ファイル --
neat = require('node-neat').includePaths
glob = require 'glob'
dest = "../bld"
src = "./src"
module.exports =
browserSync:
proxy: "moovweb.dev/"
ghostMode:
clicks: false
location: false
forms: false
scroll: false
sass:
src: "styl/src/**"
dest: dest
settings:
sourceComments: 'map',
imagePath: '/img',
errLogToConsole: true,
includePaths: ['sass'].concat(neat)
markup:
src: ['../*.php', '../inc/*.php', '../templates/*.php']
images:
src: "/img/**"
dest: dest + "/img"
browserify:
bundleConfigs: [
#entries: glob.sync('./js/src/**/*.coffee')
entries: './js/src/app.coffee'
dest: dest
extensions: ['.coffee']
outputName: 'app.js'
debug: true
]
browserify ファイル --
browserify = require 'browserify'
browserSync = require 'browser-sync'
watchify = require 'watchify'
bundleLogger = require '../util/bundleLogger'
gulp = require 'gulp'
handleErrors = require '../util/handleErrors'
source = require 'vinyl-source-stream'
config = require('../config').browserify
_ = require 'lodash'
browserifyTask = (callback, devMode) ->
bundleQueue = config.bundleConfigs.length
browserifyThis = (bundleConfig) ->
if devMode
_.extend bundleConfig, watchify.args, debug: true
bundleConfig = _.omit bundleConfig, ['external', 'require']
b = browserify(bundleConfig)
bundle = ->
bundleLogger.start(bundleConfig.outputName)
return b
.bundle()
.on 'error', handleErrors
.pipe(source(bundleConfig.outputName))
.pipe(gulp.dest(bundleConfig.dest))
.on 'end', reportFinished
.pipe(browserSync.reload
stream: true
)
b = watchify(b)
b.on 'update', bundle
bundleLogger.watch(bundleConfig.outputName)
reportFinished = ->
bundleLogger.end(bundleConfig.outputName)
if bundleQueue
bundleQueue--
if bundleQueue is 0
callback()
return
return bundle()
config.bundleConfigs.forEach(browserifyThis)
gulp.task 'browserify', browserifyTask
module.exports = browserifyTask
app.coffee を保存すると、すべてが正常にバンドルされます。しかし、app.coffee に必要な .coffee ファイルを保存すると、app.coffee を再保存しない限りバンドルされません。次のようなディレクトリ構造で必要なカスタム ライブラリがいくつかあります。
/js
- app.coffee
- /lib
--lib-1.coffee
--lib-2.coffee
--etc.coffee
グロビングを試みましたが、エラーが発生するだけで、他のほとんどは書き直す前と同じように設定されています。何か案は?