2015-06-19 2 views
0

Выполняя задачу Grunt, получив следующую ошибку.grunt-contrib-connect | корневой путь должен быть строкой. Использовать

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, но не повезло до сих пор.

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

+0

Вы пытались изменить 'base: '<% = jsb.app%>'' на фактический путь? например 'base: 'path/to/src'' и посмотреть, работает ли он? – srlm

+0

@srim, попробовал это тоже, но не повезло. –

ответ

0

Кажется, что мой 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]) 

Надеется, что это помогает кто-то!

Смежные вопросы