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

希望它也可以帮助别人!

相关问题