Javascript path.join在节点为v0.10.41的express 3中不工作
我试图在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":
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中构建的