BrowserSync在init上抛出TypeError

时间:2015-08-07 18:16:37

标签: javascript node.js gulp browser-sync

BrowserSync在初始化时会抛出TypeError

[12:02:53] TypeError: undefined is not a function
    at Object.init (/Users/conti/dev/foodjournal-web/node_modules/browser-sync/lib/public/init.js:25:25)
    at Gulp.<anonymous> (/Users/conti/dev/foodjournal-web/gulpfile.js:39:15)
    at module.exports (/Users/conti/dev/foodjournal-web/node_modules/gulp/node_modules/orchestrator/lib/runTask.js:34:7)
    at Gulp.Orchestrator._runTask (/Users/conti/dev/foodjournal-web/node_modules/gulp/node_modules/orchestrator/index.js:273:3)
    at Gulp.Orchestrator._runStep (/Users/conti/dev/foodjournal-web/node_modules/gulp/node_modules/orchestrator/index.js:214:10)
    at Gulp.Orchestrator.start (/Users/conti/dev/foodjournal-web/node_modules/gulp/node_modules/orchestrator/index.js:134:8)
    at Gulp.<anonymous> (/Users/conti/dev/foodjournal-web/node_modules/gulp/index.js:36:18)
    at Gaze.<anonymous> (/Users/conti/dev/foodjournal-web/node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/index.js:18:14)
    at Gaze.emit (events.js:110:17)
    at Gaze.emit (/Users/conti/dev/foodjournal-web/node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/lib/gaze.js:129:32)

指向browser-sync gulp任务:

gulp.task('browser-sync', function () {
  browserSync.init({
     server: {
       baseDir: "./public"
     }
   })
})

重新检查文档后,任​​务设置正确。有什么可能导致这种类型的错误吗?

打开github问题:https://github.com/BrowserSync/browser-sync/issues/761

1 个答案:

答案 0 :(得分:2)

我已经在Github回答了你,因为我先找到了它。但也许人们也想在这里阅读。我有同样的问题。

以下修复了我的问题:

请注意第一行.create之前的小注释

browserSync = require('browser-sync')#.create #call this wherever the heck you want
gulp    = require('gulp-param')(require('gulp'), process.argv)

gulp.task 'default', ['browser-sync', 'watch'], ->

gulp.task 'browser-sync', ->
  browserSync.init(
     server: "./build")

gulp.task 'watch', ->
 #something todo

我的json文件进行版本检查: [...]

"devDependencies": {
    "browser-sync": "^2.12.5",
    "gulp": "^3.9.1",
    "gulp-jshint": "^2.0.0",
    "jshint": "^2.9.2",
    "jshint-stylish": "^2.1.0"
}