2015-06-19 73 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) 

步兵的任務是,如下所示:

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]) 

希望它也可以幫助別人!

相關問題