grunt-contrib-connect | корневой путь должен быть строкой

При запуске задачи Grunt появляется следующая ошибка.

Running "connect:client" (connect) task
Warning: root path must be a string Use --force to continue.
TypeError: root path must be a string
    at Function.serveStatic (/Users/marif/Dev/JavaScript/JavaScript-Boilerplate/node_modules/grunt-contrib-connect/node_modules/connect/node_modules/serve-static/index.js:43:11)
    at Object.livereloadMiddleware (/Users/marif/Dev/JavaScript/JavaScript-Boilerplate/GruntFile.js:25:23)
    at Object.<anonymous> (/Users/marif/Dev/JavaScript/JavaScript-Boilerplate/node_modules/grunt-contrib-connect/tasks/connect.js:110:41)
    at Object.<anonymous> (/Users/marif/Dev/JavaScript/JavaScript-Boilerplate/node_modules/grunt/lib/grunt/task.js:264:15)
    at Object.thisTask.fn (/Users/marif/Dev/JavaScript/JavaScript-Boilerplate/node_modules/grunt/lib/grunt/task.js:82:16)
    at Object.<anonymous> (/Users/marif/Dev/JavaScript/JavaScript-Boilerplate/node_modules/grunt/lib/util/task.js:301:30)
    at Task.runTaskFn (/Users/marif/Dev/JavaScript/JavaScript-Boilerplate/node_modules/grunt/lib/util/task.js:251:24)
    at Task.<anonymous> (/Users/marif/Dev/JavaScript/JavaScript-Boilerplate/node_modules/grunt/lib/util/task.js:300:12)
    at /Users/marif/Dev/JavaScript/JavaScript-Boilerplate/node_modules/grunt/lib/util/task.js:227:11
    at process._tickCallback (node.js:355:11)

Задача Grunt, как указано ниже:

connect: {
    client: {
        options: {
            // The server's port, and the folder to serve from:
            // Ex: 'localhost:9000' would serve up 'client/index.html'
            port: 9000,
            // change this to '0.0.0.0' to access the server from outside
            hostname: 'localhost',
            base: '<%= jsb.app %>',
            // Custom middleware for the HTTP server:
            // The injected JavaScript reloads the page.
            middleware: livereloadMiddleware
        }
    }
}

Попытался удалить и установить пакет npm, но пока не повезло.

Может кто-нибудь указать, что именно мне здесь не хватает?

1 ответ

Похоже мой options.base в моей функции промежуточного программного обеспечения становился массивом, потому что я обновил пакет npm grunt-contrib-connect до последнего, который является 0.10.1,

Нужно поменять фрагмент скорее:

connect.static(options.base),
// Make empty directories browsable.
connect.directory(options.base)

Это должен быть массив, и он должен начать работать:

connect.static(options.base[0]),
// Make empty directories browsable.
connect.directory(options.base[0])

Надеюсь, это тоже кому-нибудь поможет!

Другие вопросы по тегам