Javascript path.join在节点为v0.10.41的express 3中不工作

Javascript path.join在节点为v0.10.41的express 3中不工作,javascript,node.js,express,Javascript,Node.js,Express,我试图在Express 3中使用less,但出现了一个错误 “TypeError:path.join的参数必须是字符串” 在节点v0.10.41中 在我的申请代码中: app.use(less({ src : path.join(__dirname, 'public', 'less'), dest : path.join(__dirname, 'public', 'css'), prefix : '/css' })); 这是我的Package.json { "name":

我试图在Express 3中使用
less
,但出现了一个错误

“TypeError:path.join的参数必须是字符串”

在节点v0.10.41中

在我的申请代码中:

app.use(less({
   src : path.join(__dirname, 'public', 'less'),
   dest : path.join(__dirname, 'public', 'css'),
   prefix : '/css'
}));
这是我的Package.json

{
  "name": "tolga",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node app.js"
  },
  "engines": {
    "node": "0.10.41",
    "npm": "1.4.29"
  },
  "dependencies": {
    "async": "~0.2.9",
    "bignum": "~0.6.1",
    "body-parser": "^1.14.2",
    "connect-redis": "~1.4.5",
    "ejs": "*",
    "express": "3.2.6",
    "geolib": "~1.3.1"
  }
}

错误源于使用
less
模块作为中间件

适当的方法是利用该模块。安装后,您可以以下方式使用中间件:

// Install the 'less-middleware' module first
var lessMiddleware = require('less-middleware);

// 'less-middleware' takes the source as the first argument.
app.use(lessMiddleware(path.join(__dirname, 'public'), {
  dest: path.join(__dirname, 'public', 'css'),
  prefix: '/css'
}));

感谢您的建议,但我已经安装了less中间件模块,但它不工作var express=require('express')、http=require('http')、path=require('path')、less=require('less-middleware');中间件将源作为第一个参数。请查看答案中的代码。如上所述更新了我的代码,但仍然收到相同的错误。这可能是因为我的节点版本是0.10.41,而应用程序是在节点版本0.8中构建的