大佬教程收集整理的这篇文章主要介绍了node.js – 将Stylus文件输出到express3中的自定义目录,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
/** * Module dependencies. */ var express = require('express'),routes = require('./routes'),user = require('./routes/user'),http = require('http'),path = require('path'),nib = require('nib'),bootstrap = require('bootstrap-stylus'),stylus = require('stylus'); var app = module.exports = express(); app.configure('dev',function(){ var stylusMiddleware = stylus.middleware({ src: __dirname + '/stylus/',// .styl files are located in `/stylus` dest: __dirname + '/public/css/',// .styl resources are compiled `/css/*.css` debug: true,compile: function(str,path) { // optional,but recommended console.log(path); return stylus(str) .set('filename',path) //.set('warn',truE) .set('compress',truE) .use(bootstrap()) } }); app.use(express.logger('dev')); app.use(stylusMiddlewarE); app.use(express.errorHandler({ dumpExceptions: true,showStack: true })); app.set('view options',{ pretty: true }); }); app.configure('prod',function(){ app.use(express.errorHandler()); }); app.configure(function(){ app.set('port',process.env.PORT || 3000); app.set('views',__dirname + '/views'); app.set('view ENGIne','jade'); app.use(express.favicon()); app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(app.router); app.use(express.static(path.join(__dirname,'public'))); }); app.get('/',routes.indeX); app.get('/users',user.list); http.createServer(app).listen(app.get('port'),function(){ console.log("Express server listening on port " + app.get('port')); });
<link rel="stylesheet" href="css/app.css">
它的物理路径是
public/css/app.css
stylus/css/app.styl
和Express配置应该是
app.configure('dev',function () { ... app.use(stylus.middleware({ src: __dirname + '/stylus/',dest: __dirname + '/public/',path) { ... } })); ... });
我在source中看到的.
Stylus解析所有请求并仅选择那些请求的css文件.然后它将css url的路径名与你的dest选项结合起来,用路径名中的styl替换css,并将结果与你的src选项结合起来:
// Middleware return function stylus(req,res,next){ if ('GET' != req.method && 'HEAD' != req.method) return next(); var path = url.parse(req.url).pathname; if (/\.css$/.test(path)) { var cssPath = join(dest,path),stylusPath = join(src,path.replace('.css','.styl')); // ... } else { next(); } }
以上是大佬教程为你收集整理的node.js – 将Stylus文件输出到express3中的自定义目录全部内容,希望文章能够帮你解决node.js – 将Stylus文件输出到express3中的自定义目录所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。