2

最近 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

グロビングを試みましたが、エラーが発生するだけで、他のほとんどは書き直す前と同じように設定されています。何か案は?

4

1 に答える 1