我正在尝试使用WebStorm 8开始使用node.js,Express,Jade,Styl和NIB。不幸的是,WebStorm不提供开箱即用的NIB支持,因此我正在搜索如何手动添加它。
它生成的app.js如下所示:
/**
* Module dependencies.
*/
var express = require('express');
var routes = require('./routes');
var user = require('./routes/user');
var http = require('http');
var path = require('path');
var app = express();
// all environments
app.set('port', process.env.PORT || 3000);
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.json());
app.use(express.urlencoded());
app.use(express.methodOverride());
app.use(app.router);
app.use(require('stylus').middleware(path.join(__dirname, 'public')));
app.use(express.static(path.join(__dirname, 'public')));
// development only
if ('development' == app.get('env')) {
app.use(express.errorHandler());
}
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'));
});
据我所知,谷歌搜索的东西就像这样的一段代码
function compile(str, path) {
return stylus(str)
.set('filename', path)
.use(nib()) // <-here it goes!
}
但我找不到这样的地方。在这种情况下,如何将NIB附加到堆栈?
请原谅我的noob问题。请帮忙。我有基本的JavaScript技能(用于为客户端编写一些老式的手动方式),但在这种情况下有点困惑。是的,如果可能的话,我真的更喜欢IDE方式 - 我相信我可以从头开始创建项目,这样可以减少混乱,但我喜欢使用代码完成,调试和类似的东西来探索事物 - 这是我的最爱学习的方式,但在这种情况下我只需要一点点推动。感谢。
答案 0 :(得分:1)
这是一个老问题,但要将任何手写笔lib添加到webstorm,您需要修改文件观察器
有关如何为nib执行此操作的示例,请参阅:https://devnet.jetbrains.com/message/5501662#5501662,但这也适用于webstorm 8/9中的jeet。
答案 1 :(得分:0)
您需要让您的手写笔中间件调用编译功能。尝试:
var express = require('express');
var routes = require('./routes');
var user = require('./routes/user');
var http = require('http');
var path = require('path');
var nib = require('nib');
var stylus = require('stylus');
var app = express();
// all environments
app.set('port', process.env.PORT || 3000);
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.json());
app.use(express.urlencoded());
app.use(express.methodOverride());
app.use(app.router);
app.use(stylus.middleware(
{ src: __dirname + '/public'
, compile: compile
}
))
app.use(express.static(path.join(__dirname, 'public')));
// development only
if ('development' == app.get('env')) {
app.use(express.errorHandler());
}
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'));
});
function compile(str, path) {
return stylus(str)
.set('filename', path)
.use(nib()) // <-here it goes!
}