Stylus `middleware` 抛出错误并且不生成 `css` 文件
Stylus `middleware` throws error and not generating `css` file
我在 stylus
的 运行 上使用连接服务器时遇到此错误。我没有在此处作为 .css
文件得到最终结果。
错误:
D:\Projects\TCP\node_modules\stylus\lib\renderer.js:187
this.options.paths.push(path);
^
TypeError: Cannot read property 'push' of undefined
at Renderer.include (D:\Projects\TCP\node_modules\stylus\lib\renderer.js:187
:21)
at Renderer.<anonymous> (D:\Projects\TCP\node_modules\nib\lib\nib.js:51:11)
at Renderer.use (D:\Projects\TCP\node_modules\stylus\lib\renderer.js:203:6)
at Object.compile (D:\Projects\TCP\server.js:12:55)
at D:\Projects\TCP\node_modules\stylus\lib\middleware.js:152:31
at fs.js:334:14
at FSReqWrap.oncomplete (fs.js:95:15)
我的Server.js:
var connect = require('connect'),
serveStatic = require('serve-static'),
nib = require('nib'),
stylus = require('stylus');
var app = connect();
app.use(stylus.middleware({
src : __dirname + '/public',
force : true,
compile : function compile(str, path) {
return stylus(str, path).set('filename', path).use(nib());
}
}));
app.use(serveStatic("public"));
app.listen(5000, function () {console.log("HI", __dirname);}); //works!
.style
文件位于 public/css/tcp.styl
- 输出可以是同一个地方。这里有什么问题?如何解决?
提前致谢
你因为这一行而得到这个错误:
return stylus(str, path).set('filename', path).use(nib());
stylus
调用的第二个参数应该是一个带有选项的对象,而不是带有路径的字符串。在您的情况下,呼叫应该只是 stylus(str)
.
我在 stylus
的 运行 上使用连接服务器时遇到此错误。我没有在此处作为 .css
文件得到最终结果。
错误:
D:\Projects\TCP\node_modules\stylus\lib\renderer.js:187
this.options.paths.push(path);
^
TypeError: Cannot read property 'push' of undefined
at Renderer.include (D:\Projects\TCP\node_modules\stylus\lib\renderer.js:187
:21)
at Renderer.<anonymous> (D:\Projects\TCP\node_modules\nib\lib\nib.js:51:11)
at Renderer.use (D:\Projects\TCP\node_modules\stylus\lib\renderer.js:203:6)
at Object.compile (D:\Projects\TCP\server.js:12:55)
at D:\Projects\TCP\node_modules\stylus\lib\middleware.js:152:31
at fs.js:334:14
at FSReqWrap.oncomplete (fs.js:95:15)
我的Server.js:
var connect = require('connect'),
serveStatic = require('serve-static'),
nib = require('nib'),
stylus = require('stylus');
var app = connect();
app.use(stylus.middleware({
src : __dirname + '/public',
force : true,
compile : function compile(str, path) {
return stylus(str, path).set('filename', path).use(nib());
}
}));
app.use(serveStatic("public"));
app.listen(5000, function () {console.log("HI", __dirname);}); //works!
.style
文件位于 public/css/tcp.styl
- 输出可以是同一个地方。这里有什么问题?如何解决?
提前致谢
你因为这一行而得到这个错误:
return stylus(str, path).set('filename', path).use(nib());
stylus
调用的第二个参数应该是一个带有选项的对象,而不是带有路径的字符串。在您的情况下,呼叫应该只是 stylus(str)
.