使用 Express 减少中间件
Less Middleware with Express
我试图在我的 nodejs 项目上设置更少,当我从浏览器请求我的页面时 less-middleware
调试显示错误的路径和目标路径。当我从我的网页询问例如 '/public/css/index.css'
时,我将 '/public/css/'
添加到源路径。以下是我的配置:
app.use(lessMiddleware(__dirname+'/server/less',{
debug: true,
dest: __dirname+'/public/css',
once: true
}));
调试屏幕显示:
pathname : /public/css/index.css
source : D\Work\project\server\less\public\css\index.less
destination : D\Work\project\public\css\public\css\index.css
即使我修复了目标路径,我的源也有问题,我不想将我的 less 文件放入 public 文件夹。有没有办法从 less 编译中删除 /public/css
。
我尝试添加:
'preprocess.path': function(pathname, req){
console.log(pathname);
}
但 console.log
从未显示。也许还有一种方法可以不编译用户询问的每个 css 文件,而只编译我在 less 文件夹中的那些 less 文件。
P.S。我使用的每个模块都低于 "*"
版本。
您可以试试这个(在您的浏览器中访问“/css/style.css”):
app.use(lessMiddleware({
src: __dirname+"/server/less",
dest: __dirname+"/public/css",
prefix: "/css",
// force true recompiles on every request... not the
// best for production, but fine in debug while working
// through changes
force: true,
debug: true
}));
其实很简单。
app.use(lessMiddleware(__dirname+'/server/less/',{
debug: true,
dest: __dirname,
force: true
}));
现在我们在文件夹 /server/less
中创建了文件夹 public/css
,一切都在正确的方向进行。此外,如果我们有文件夹 admin/css
,它也可以工作。技巧是在文件夹 /server/less
中创建文件夹
我试图在我的 nodejs 项目上设置更少,当我从浏览器请求我的页面时 less-middleware
调试显示错误的路径和目标路径。当我从我的网页询问例如 '/public/css/index.css'
时,我将 '/public/css/'
添加到源路径。以下是我的配置:
app.use(lessMiddleware(__dirname+'/server/less',{
debug: true,
dest: __dirname+'/public/css',
once: true
}));
调试屏幕显示:
pathname : /public/css/index.css
source : D\Work\project\server\less\public\css\index.less
destination : D\Work\project\public\css\public\css\index.css
即使我修复了目标路径,我的源也有问题,我不想将我的 less 文件放入 public 文件夹。有没有办法从 less 编译中删除 /public/css
。
我尝试添加:
'preprocess.path': function(pathname, req){
console.log(pathname);
}
但 console.log
从未显示。也许还有一种方法可以不编译用户询问的每个 css 文件,而只编译我在 less 文件夹中的那些 less 文件。
P.S。我使用的每个模块都低于 "*"
版本。
您可以试试这个(在您的浏览器中访问“/css/style.css”):
app.use(lessMiddleware({
src: __dirname+"/server/less",
dest: __dirname+"/public/css",
prefix: "/css",
// force true recompiles on every request... not the
// best for production, but fine in debug while working
// through changes
force: true,
debug: true
}));
其实很简单。
app.use(lessMiddleware(__dirname+'/server/less/',{
debug: true,
dest: __dirname,
force: true
}));
现在我们在文件夹 /server/less
中创建了文件夹 public/css
,一切都在正确的方向进行。此外,如果我们有文件夹 admin/css
,它也可以工作。技巧是在文件夹 /server/less