我正在使用YO lessapp项目,“grunt-contrib-connect”帮助我在9000端口上启动节点js服务器。每当我运行grunt serve(启动服务器)时,由于以下警告,服务将中止。
Running "connect:livereload" (connect) task
Warning: connect.static is not a function Use --force to continue.
确切的错误发生在Gruntfile.js的下面的函数中
livereload: {
options: {
middleware: function(connect) {
return [
connect.static('.tmp'),
connect().use('/bower_components', connect.static('./bower_components')),
connect.static(config.app)
];
}
}
},
我已安装
npm install grunt-contrib-connect --save-dev
,
npm install serve-static --save-dev
我发现了一些帖子,有人建议关闭防火墙,但没有运气。
我知道我的机器或npm / node / connect版本冲突有关,因为我试图从其他机器运行相同的应用程序,它运行正常。
系统配置:
我已根据帖子nodejs connect cannot find static安装了connect和serve-static,但仍然是相同的
有任何帮助吗?在此先感谢
答案 0 :(得分:61)
您必须安装connect
和serve-static
:
npm install --save-dev grunt-contrib-connect serve-static
然后您必须在serve-static
中导入Gruntfile.js
:
module.exports = function (grunt) {
...
var serveStatic = require('serve-static');
grunt.initConfig({
...
connect: {
...
livereload: {
options: {
middleware: function(connect) {
return [
serveStatic('.tmp'),
connect().use('/bower_components', serveStatic('./bower_components')),
serveStatic(config.app)
];
}
}
}