我在哪里可以在WebStorm 8生成的node.js + Expres + Jade + Stylus项目中添加NIB?

我正在尝试使用WebStorm 8开始使用node.js,Express,Jade,Styl和NIB。不幸的是,WebStorm并没有提供包括NIB支持,所以我正在寻找如何手动添加它。

它生成的app.js看起来像这样:

 / **
  *模块依赖关系。
  * / 

var express = require('express');
var routes = require('./ routes');
var user = require('./ routes / user');
var http = require('http');
var path = require('path');

var app = express();

//所有环境
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')));

//只开发
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 listen on port'+ app.get('port'));
});

据我所知,用googlesearch这些东西就是这样一段代码

函数编译(str,path){
  返回手写笔(str)
     .set('文件名',path)
     .use(nib())// < - 它去了!
 }

但是我找不到这样的地方 在这种情况下,如何将NIB连接到堆栈?

打扰一下noob问题。 请帮助。 我有基本的JavaScript技能(用于为客户端编写一些老式的手动方式),但在这种情况下有点困惑。 是的,如果可能的话,我真的更喜欢IDE的方式 – 我相信我可以从零开始创build项目,而不会混淆,但我喜欢使用代码完成,debugging和类似的东西来探索的东西 – 这是我最喜欢的学习的方式,但在这种情况下,我只是需要一点点的努力。 谢谢。

这是一个古老的问题,但添加任何手写库的networking风暴你需要修改文件观察者

请参阅: https ://devnet.jetbrains.com/message/5501662#5501662有关如何为笔尖执行此操作的示例,但这也适用于webstorm 8/9中的jeet。

你需要让你的触笔中间件调用编译function。 尝试:

 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! }