Tag: 帕格

Node.js和Jquery传递variables

我有一个使用Jade的Node.JS Express应用程序。 我知道如何使用data.render({})将数据从备份发送到前端。 但是,我似乎无法给我的jquery文件js / script.js来访问它。 如何将数据传递给前端js文件?

为什么客户端在node + express + socket.io + jade简单的应用程序中断开连接并重新连接

我创build了一个简单的应用程序,试图整合node,express,socket.io和jade。 用户在文本字段中input一些string(“工具ID”),然后单击一个提交button。 该文本被简单地转换为全部大写,结果被附加到页面上的结果部分。 结果应该自动更新为查看页面的其他客户端。 它大部分工作。 然而,问题是,用户点击页面上的提交button来提交工具ID后,节点控制台和浏览器的JavaScript控制台都显示客户端断开,然后重新连接。 对用户来说,看起来像是结果在几分之一秒内正确更新。 然后结果变成空白的另一小部分秒。 然后重新显示结果。 由于我正在显示用户的会话ID和结果,所以我可以看到会话ID在短时间内发生了变化,而结果变为空白。 请注意,如果一个不同的客户端只是查看页面,而不是以其他方式进行交互,结果会更加平滑地进行更新(没有短暂的结果时间),而且客户端似乎根本不会断开连接。 当他们点击表单上的提交button时,我不希望客户端断开连接并重新连接。 有人能告诉我为什么发生这种情况,我应该如何正确地做到这一点? 我的app.js (服务器) var express = require('express'); var app = express(); var http = require('http'); var server = http.createServer(app); io = require('socket.io').listen(server); // without the var, this becomes available to other files like routes. var path = require('path'); var routes = require('./routes/routes'); var […]

快递+手写笔+玉石,没有得到编译

我无法得到这个简单的app.js工作:静态文件被提供,但玉和文件不被编译。 这里的__dirname ls: damianomacbook:www damiano$ ls app.jade app.js app.styl config.xml johnd.jpg .jade和.styl文件通常和普通的服务。 这里当curling css和html文件(中间件函数应该在运行中产生)时会发生什么情况: damianomacbook:www damiano$ curl localhost:8080/app.css curl: (52) Empty reply from server damianomacbook:www damiano$ curl localhost:8080/app.html Cannot GET /app.html less了什么东西? 有罪代码: var express = require('express'); var stylus = require('stylus'); var nib = require('nib'); var app = express(); function compile(str, path) { return stylus(str) […]

如何知道Jade中的块内容是否为空

我们如何检查块是否存在于Jade中,我试图在Jade中创build一个模板,在layout.jade和login.jade中有以下块,我扩展了layout.jade。 现在当account.jade我将有左和主要的内容块 extend layout.jade div(class='col-md-4') block leftcontainer div(class='col-md-8') block content 现在在login.jade我想隐藏 div(class='col-md-4') block leftcontainer 并把主要内容整页,如果leftcontainer不在那里。 它应该看起来像这样 div(class='col-md-12') block content 如果用户是在一些页面上,我想隐藏左列块。 说如果用户在login页面然后

无法使用快递加载玉石视图

我试图创build一个玉视图,并使用快递加载它。 path/正确加载,但是当我加载helloworld浏览器说Cannot get /helloworld 。 我创build了以下视图并将其保存到视图中: extend layout block content h1=title p Hello! Hello World! Welcome to #{title} 在routes/index.js我这样做了: exports.helloworld=function(req,res){ res.render('helloworld',{title:'Hello World!'}); }; 在app.js文件中: app.get('/helloworld',routes.helloworld); 更新: 完整的app.js文件: /** * Module dependencies. */ var express = require('express') ,routes = require('./routes') var app = module.exports = express.createServer(); // Configuration app.configure(function(){ app.set('views', __dirname + '/views'); app.set('view engine', 'jade'); […]

Injector.modulerr错误使用angular.js

我有一个node-jade-angular应用程序的问题:layout.jade doctype html html(ng-app='listApp') head title= title script(src='//cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.10/angular.min.js') script(src='javascripts/controller.js') script var listApp = angular.module('listApp', ['ngRoute']) body block content index.jade extends layout block content .jumbotron p Welcome to #{title} hr table(ng-controller='listAppCtrl') tr th name th lastname tr(ng-repeat='m in docs') td {{m.name}} td {{m.lastname}} route.js exports.home = function (req, res, next) { model.find(function (err, docs) { if […]

国际化nodejs玉石模板

我正尝试使用i18n-2模块将我的nodejs express应用程序国际化。 一切正常,但我有一个问题。 有没有办法从我的玉石模板翻译string。 想象一下,我的网站上有100个string。 我是否必须通过res.render调用将100个翻译发送到模板? res.render('profile', { title: 'My cool title', user: req.user, hello1: req.i18n.__("hello1"), hello2: req.i18n.__("hello2"), hello3: req.i18n.__("hello3"), … helloN: req.i18n.__("helloN") }); 有没有另外一种方法来做到这一点? 事端如下代码: res.render('profile', { title: 'My cool title', user: req.user, i18n: req.i18n // to be used inside jade });

Jade看* .jade文件吗?

我不知道Jade如何在内部工作,但我猜测它正在编译每个模板文件一次,然后为每个HTTP请求使用编译和caching版本。 当我运行我的Express应用程序并对我的* .jade文件进行更改时,无需重新启动应用程序即可在浏览器中看到更改。 这是如何运作的? Jade是否正在观看/views文件夹中的* .jade文件? Jade是否检查每个HTTP请求上的修改date并相应地重新编译模板? 翡翠实际上编译每个HTTP请求的HTML?

JADE和ng-class

我在导航栏中有以下expression,我无法在JADE中工作。 这似乎对我有效。 li(ng-class="{'active' : true}"): a(href='#') INFO SHEET 我在这里做错了什么? 它根本不应该应用这个类。 如果我改变这只是… li(class='active'): a(href='#') INFO SHEET … 奇迹般有效。 HTML呈现如下所示: <li ng-class="{'active' : true}"><a href="#">INFO SHEET</a></li> 编辑:我也试过以下内容: li(ng-class='{active: isActive("/")}'): a(href='#') INFO SHEET 活动在根控制器上定义如下: $scope.isActive = function(path){ return (path === $location.path()); }; 我用chrome在函数的主体上设置了一个断点,并且它从不中断。 控制台中也没有错误。 就像Angular就是因为某种原因没有解释它。 其他信息…. Angular版本是1.3.0

为什么–watch Jade选项不起作用?

我开始与翡翠,我有这个简单的文件,我想自动重新呈现, doctype html html head title Angular App CS link(rel='stylesheet' href='http://getbootstrap.com/dist/css/bootstrap.min.css') script(src='http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.3/angular.min.js') script(src='http://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.1/js/bootstrap.min.js') 我使用这个命令jade -w -P index.jade但只渲染的第一次,当我更新.jade ,出现以下错误: TypeError: path must be a string at Object.fs.lstat (fs.js:675:11) at renderFile (/usr/lib/node_modules/jade/bin/jade.js:172:6) at StatWatcher.<anonymous> (/usr/lib/node_modules/jade/bin/jade.js:119:11) at StatWatcher.emit (events.js:98:17) at StatWatcher._handle.onchange (fs.js:1115:10) 会发生什么?