相关疑难解决方法(0)

在Express中,app.router到底做了什么?

当我使用express二进制文件创建示例Express应用程序时,引导程序代码包含以下行:

...

var app = express();
...
app.use(app.router);
Run Code Online (Sandbox Code Playgroud)

我没有找到关于app.router的更多信息.我认为这是处理路由(app.get(),app.post()等)规则的中间件,但是当我删除app.use(app.router)时,这些规则也会执行; 线.

那么这个中间件的确切用途是什么?

node.js express

28
推荐指数
3
解决办法
4万
查看次数

27
推荐指数
2
解决办法
6336
查看次数

渲染原始HTML

我想.html使用Express 3 渲染原始页面,如下所示:

server.get('/', function(req, res) {
    res.render('login.html');
}
Run Code Online (Sandbox Code Playgroud)

这就是我如何配置服务器来呈现原始HTML页面(灵感来自这个过时的问题):

server
    .set('view options', {layout: false})
    .set('views', './../')
    .engine('html', function(str, options) {
        return function(locals) {
             return str;
        };
    });
Run Code Online (Sandbox Code Playgroud)

不幸的是,使用此配置页面会挂起并且永远不会正确呈现.我做错了什么?如何使用Express 3渲染原始HTLM而不使用Jade和EJS等花哨的渲染引擎?

javascript node.js express

26
推荐指数
5
解决办法
7万
查看次数

Stylus和Express - 样式表在修改时不会重新编译

我在Mac OS X上运行最新版本的Node.我已经将Express与Stylus一起安装了.也是最新版本.

当我修改它们时,Stylus不会重新编译我的.styl文件.我怎样才能解决这个问题?

重新编译我的.styl文件的唯一解决方案是删除已编译的.css文件...重新启动我的应用程序,或者执行clear-cache-refresh(CMD + Shift + R)不会导致重新编译-compile.

这是我的应用程序配置的转储.它与使用可执行文件创建新的快速应用程序时基本相同...

app.configure(function ()
{
    this.set("views", __dirname + "/views");
    this.set("view engine", "jade");

    this.use(express.bodyParser());
    this.use(express.methodOverride());
    this.use(express.static(__dirname + '/public'));

    this.use(require("stylus").middleware({
        src: __dirname + "/public",
        compress: true
    }));

    this.use(this.router);
});
Run Code Online (Sandbox Code Playgroud)

我的.styl和编译的.css文件都位于[application]\public\stylesheets\

stylus node.js express

24
推荐指数
1
解决办法
1万
查看次数

node.js和单页Web应用程序

我正在查看后端的express.js和客户端的JS.我的应用程序是单页Web应用程序.

服务器只提供JSON消息,我的问题是关于express的"路由".是否应该使用路由来连接UI和服务器端业务逻辑?如何使用我的单页应用程序?

所以假设,客户端向服务器发出Ajax调用,在数据库中查找值,并且有服务器端脚本将JSON提供回UI.如何设置此UI和节点脚本关系?

有人可以对此有所了解吗?

javascript ajax json node.js express

11
推荐指数
1
解决办法
1万
查看次数

res.sendfile()不能很好地提供javascripts

我想在没有任何渲染引擎的情况下使用静态文件服务.我试过用:

res.sendfile('public/index.html');
Run Code Online (Sandbox Code Playgroud)

在'/'GET路由上,并在我的路由上表示静态文件的中间件:

app.use(express.static(path.join(__dirname, 'public')));
Run Code Online (Sandbox Code Playgroud)

似乎客户端要求的所有javascripts都是使用index.html文件信息下载的.

如何成功下载CSS/JS静态文件?

更新:

这是"res.sendfile ..."的路由:

app.get('/*', index);
Run Code Online (Sandbox Code Playgroud)

我希望在任何路由上对服务器的所有请求都会得到,index.html并且它的所有JS和CSS都会被关联.

node.js express

10
推荐指数
2
解决办法
3万
查看次数

节点js 404和angular url刷新冲突

我正在制作Nodejs和angular js应用程序.当有人在网址上输入并输入网页时,我不得不加载页面.它工作正常,直到我还制作了一个脚本重定向到404错误页面.现在的问题是两个脚本只有一个标准有效.当404重定向工作时,我无法访问在浏览器上键入url的页面,当它工作时,404页面被重定向到索引.HTML.

这是我使用的两个脚本.

app.use(function(req, res) {
    res.render('404', {layout: false, title: '404: File Not Found'});
});

app.use('/*', function (req, res) {
   res.sendFile(__dirname + '/public/index.html');
});
Run Code Online (Sandbox Code Playgroud)

我在这做错了吗?除此之外,当我从导航中点击它时,我也有我的一般路线在角应用程序中工作正常.

javascript nodes node.js angularjs angularjs-routing

3
推荐指数
1
解决办法
1042
查看次数