警告:connect.static 不是函数 使用 --force 继续
Warning: connect.static is not a function Use --force to continue
我正在使用 YO lessapp 项目,"grunt-contrib-connect" 帮助我在 9000 端口上启动一个节点 js 服务器。每当我 运行 g运行t 服务(启动服务器)时,服务都会因以下警告而中止。
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
我遇到了几个 post,有些人建议关闭防火墙,但没有成功。
我知道我的机器有问题或 npm/node/connect 版本冲突,因为我尝试 运行 来自其他机器的相同应用程序并且它工作正常。
系统配置:
- Windows 7 名专业人士
- 节点-v4.1.2
- npm -v2.14.4
- connect@3.4.0
我已经根据 post nodejs connect cannot find static 安装了 connect 和 serve-static,但还是一样
有什么帮助吗?提前致谢
您必须安装 connect
和 serve-static
:
npm install --save-dev grunt-contrib-connect serve-static
然后你必须在 Gruntfile.js
中导入 serve-static
:
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)
];
}
}
}
从版本 0.11.x 开始,新的 grunt-contrib-connect
不支持 connect.static
和 connect.directory
.
您应该安装 serve-static
(用于提供静态文件)和 serve-index
(用于提供包含给定路径的目录列表的页面)。
像这样:
var serveStatic = require('serve-static');
var serveIndex = require('serve-index');
使用serveStatic
代替connect.static
和
serveIndex
而不是 connect.directory
grunt.initConfig({
connect: {
options: {
test: {
directory: 'somePath',
middleware: function(connect, options){
var _staticPath = path.resolve(options.directory);
return [serveStatic(_staticPath), serveIndex(_staticPath)]
}
}
}
}
})
我正在使用 YO lessapp 项目,"grunt-contrib-connect" 帮助我在 9000 端口上启动一个节点 js 服务器。每当我 运行 g运行t 服务(启动服务器)时,服务都会因以下警告而中止。
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
我遇到了几个 post,有些人建议关闭防火墙,但没有成功。
我知道我的机器有问题或 npm/node/connect 版本冲突,因为我尝试 运行 来自其他机器的相同应用程序并且它工作正常。
系统配置:
- Windows 7 名专业人士
- 节点-v4.1.2
- npm -v2.14.4
- connect@3.4.0
我已经根据 post nodejs connect cannot find static 安装了 connect 和 serve-static,但还是一样
有什么帮助吗?提前致谢
您必须安装 connect
和 serve-static
:
npm install --save-dev grunt-contrib-connect serve-static
然后你必须在 Gruntfile.js
中导入 serve-static
:
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)
];
}
}
}
从版本 0.11.x 开始,新的 grunt-contrib-connect
不支持 connect.static
和 connect.directory
.
您应该安装 serve-static
(用于提供静态文件)和 serve-index
(用于提供包含给定路径的目录列表的页面)。
像这样:
var serveStatic = require('serve-static');
var serveIndex = require('serve-index');
使用serveStatic
代替connect.static
和
serveIndex
而不是 connect.directory
grunt.initConfig({
connect: {
options: {
test: {
directory: 'somePath',
middleware: function(connect, options){
var _staticPath = path.resolve(options.directory);
return [serveStatic(_staticPath), serveIndex(_staticPath)]
}
}
}
}
})