express.js less 编译器:无法工作

2024-06-26

app.js:

app.use(express.compiler({ src: __dirname + '/public', enable: ['less']}));
app.use(express.static(__dirname + '/public'));

在我的玉观中:

link(rel="stylesheet", type="text/css", href='/app/stylesheets/app.less)

我的文件较少: 公共/应用程序/样式表/app.less

当我请求 html head 中的页面时:

<link href="/app/stylesheets/app.less" type="text/css" rel="stylesheet">

并在服务器控制台中注明。

1)那么为什么express甚至不尝试编译app.less?应该是?

2)如果一切正常:htm 中的链接应该是

<link href="/app/stylesheets/**app.less**" ... >

或者express应该在渲染时更改文件的扩展名?

<link href="/app/stylesheets/**app.css**" ... >

?


根据 TJ Holowaychuck(Connect & Express 的创建者)的说法,compiler() 似乎已从 connect 中删除,并且不再受支持:

https://github.com/visionmedia/express/issues/877 https://github.com/visionmedia/express/issues/877


更新2013-01-16

从 Express 3.0.0 开始,该框架现在包括less-middleware而不是compiler曾经位于 Connect 中的中间件。它的工作方式与旧的中间件非常相似。

要将其添加到现有项目中,请添加less-middleware给你的package.json并运行npm install然后将以下内容添加到您的配置中:

app.use(require('less-middleware')({ src: __dirname + '/public' }));
app.use(express.static(path.join(__dirname, 'public')));

在 Jade 模板中,您将其作为普通 CSS 文件引用:

link(rel='stylesheet', type='text/css', href='css/styles.css')

您的目录结构将如下所示:

myapp
+-public
  +-css
    +-styles.less

less-middleware将查找与请求的 .css 文件同名的 .less 文件。如果找到,它将对其进行编译并提供生成的 CSS。

您可能希望从源代码管理中排除已编译的 CSS 文件。如果您使用 Git,您可以添加.css给你的.gitignore file.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

express.js less 编译器:无法工作 的相关文章

随机推荐