Articles of handlebars.js

把手/节点/ Express无法加载文件

所以我正在开发基本的CRUD操作的Node / Express webapp,而且我很难在项目中实现Handlebars。 当我尝试使用句柄时,我的.hbs(以前的.html)页面的样式表都没有加载。 这是文件树: 这是错误: 这里是一个脚本导入语句的例子 index.hbs <!– Bootstrap –> <link href="../vendors/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet"> 最后这里是server.js文件 var express = require('express'), bodyParser = require('body-parser'), path = require('path'), mysql = require('mysql'), dbconfig = require('./config/database'), exphbs = require('express-handlebars'); var connection = mysql.createConnection(dbconfig.connection) connection.query('USE ' + dbconfig.database); var app = express(); //Body Parser Middleware app.use(bodyParser.json()); app.use(bodyParser.urlencoded({extended: false})); //Set static […]

提交不会发布所有数据

这是一个相当简单的问题,但我花了3天寻找一个我找不到的错误。 这个表格只是无故发布“grille de notation”和“Grille d'évaluation”之间的内容。 这是我的forms的代码:我知道这是很大的…对不起,你可以尝试在: https : //institut-villebon-staging.herokuapp.com/formulaires/entretien/0 <div id="page-content-wrapper"> <div class="container-fluid"> <nav class="col-sm-3 col-md-3 hidden-xs" id="myScrollspy" data-pg-collapsed> <ul class="nav nav-pills nav-stacked" data-pg-collapsed> <li class="active"> <a href="#informationsCandidat">Informations du candidat</a> </li> <li> <a href="#GrilleNotation">Grille de notation</a> </li> <li> <a href="#GrilleEval">Grille d'évaluation</a> </li> </li> </ul> </nav> <div id="form_container" class="col-sm-9"> <div class="row"> <div class="col-xs-4 col-md-8"> <ol class="breadcrumb […]

如何使用Node.js和Express在JavaScript中使用GET请求更改页面?

在这个应用程序,用户有一个表,他们可以input数据。 每行有一个“编辑”button,当他们点击那个button时,我想把他们带到一个叫“/ update”的新页面,在那里他们可以修改那个行的值。 我现在已经这样做了,当他们点击更新button时,它会运行editRow函数,传递表的id和行中的数据。 但是,我无法弄清楚如何让路线正常工作。 我使用的是Node.js,Express,Handlebars,但没有使用 jQuery。 app.js (服务器端) app.get('/update', function(req,res){ var context = {}; context.tableID = req.ID; context.element = req.element; res.render('update', context); }); update.handlebars <h1>test for now</h1> main.handlebars <!doctype html> <html> <head> <title>Workout Tracker</title> <link rel="stylesheet" href="css/style.css"> <script src="scripts/buttons.js" type="text/javascript"></script> </head> <body> {{{body}}} </body> </html> buttons.js (客户端) function editRow(tableID, element) { var httpRequest; httpRequest […]

Handlebars和Node.js:{{#if!user}}然后显示loginbutton

我正在创build一个使用Node.js,Express和Handlebars作为模板引擎的loginvalidation应用程序。 如果没有用户login,我希望我的仪表板显示“login”button。 如果用户login,我不希望它显示。 我试过这个没有login… {{#if user}} <a type = "button" class = "btn btn-default" href = "/users/login">Log In</a> {{/if}} 有趣的是,这隐藏了元素。 然后,当我纠正了代码,它应该是…这… {{#if !user}} <a type = "button" class = "btn btn-default" href = "/users/login">Log In</a> {{/if}} 我得到这个错误, 我以前从来没有使用过车把,所以我是盲目的。 任何帮助提前感激!

nodejs handlebars:'TypeError:this.engine不是一个函数'

我尝试使用Express中的句柄模板。 我得到这个错误消息: TypeError:this.engine不是View.render的函数(/home/ubuntu/workspace/node_modules/express/lib/view.js:128:8)… 与此代码: 'use strict'; var express = require('express'); var expressHandlebars = require('express-handlebars'); var app = express(); app.engine('handlebars', expressHandlebars({defaultLayout: 'layout'})); app.set('view engine', 'html'); app.use(express.static('views')); app.route('/single/:id') .get(function (req, res) { res.render(process.cwd() + `/public/single-poll`, { id: req.params.id }); }); app.listen(process.env.PORT, function () { console.log('Node.js listening on port ' + process.env.PORT + '…'); }); 当我用sendFile()replacerender()函数是正常的。 我知道快速js渲染:TypeError:this.engine不是一个函数和Express js呈现错误this.engine不是一个函数和TypeError:this.engine不是一个函数时,试图在Express […]

如何在login后请求用户数据,Node.JS

大家好,我是Node新手,请耐心等待。 无论如何,我目前正在为我的新节点应用程序的身份validation。 到目前为止,我有能力获得一切基本工作(login,注册,注销)。 我现在进入我的用户个人资料的设置页面,但我无法访问{{username}}或{{email}},例如,它保留空白或抛出一个错误。 我想知道如何让用户名,电子邮件和其他信息保留在会话中,或者一旦我的用户login后就可以访问它,以及以后如何向会话添加更多信息(这很重要,因为我需要做到这一点)。 这是我的代码: 注册(不包括validation) var newUser = new User({ username: username, email:email, password: password }); User.createUser(newUser, function(err, user){ if(err) throw err; console.log(user); req.flash('success_msg', 'You are registered and can now login'); login: router.post('/login', passport.authenticate('local', {successRedirect:'/', failureRedirect:'/users/login',failureFlash: true}), function(req, res) { res.redirect('/'); }); 我不确定我需要显示什么代码,但是如果你们需要看别的东西来帮助我,请告诉我。 我用快递,护照和车把来使用Node.JS。 谢谢!

如何使用Express,Javascript和Handlebars在POST请求中显示URL数据?

我将如何利用POST请求显示URL数据,如GET请求? 例如,我试图让URL “ http:// localhost:8000 / requestPost?hello = goodbye&numbers = 123 ”打印下面的列表 – 你好再见 数字 – 123 我怎样才能通过POST来访问URLvariables? 我正在使用Express&Handlebars。

如何在bash命令行上输出文件列表

我正在使用handlebars.js为我们的单页应用程序呈现客户端模板(在node.js服务器端使用Jade)。 我想预编译服务器端的句柄模板,并把它们打包成一个JS文件发送给客户端。 目前,我使用handlebars来编译模板,如下所示: $ handlebars template1.handlebars template2.handlebars -f precompiled_templates.js 我想写一个bash脚本,可以读取目录中的所有*.handlebars文件,然后通过*.handlebars编译器运行它们。 所以,如果我有一个像这样的目录: templates/ temp1.handlebars temp2.handlebars temp3.handlebars temp4.handlebars 在templates目录中运行我的bash脚本(或者一行命令)本质上会运行下面的handlebars命令: $ handlebars temp1.handlebars temp2.handlebars temp3.handlebars temp4.handlebars -f precompiled_templates.js 有谁知道我可以写一个bash脚本来获取目录中的所有句柄文件到上面的命令行吗?

在{{#each …}}中的Expressjs app.locals无法访问

你好,我有一些很简单的东西: <!DOCTYPE html> <html> <head> <title></title> <link rel="stylesheet" href="{{adminUrl}}/assets/css/bootstrap/bootstrap-responsive.min.css"> <link rel="stylesheet" href="{{adminUrl}}/assets/css/bootstrap/bootstrap.min.css"> <script type="text/javascript" src="{{adminUrl}}/assets/js/vendors/jquery-1.9.1.min.js"></script> <script type="text/javascript" src="{{adminUrl}}/assets/js/bootstrap/bootstrap.min.js"></script> </head> <body> <div style="padding: 20px; background: #fafafa; border-bottom: solid 1px #eee"> <a href="{{adminUrl}}/users/" class="btn">users list/no paging</a> <a href="{{adminUrl}}/create/" class="btn">create new user</a> </div> <h1>List data:</h1> <ol> {{#each data}} <li> <div><a href="{{adminUrl}}/details/{{id}}"><b>{{username}} – {{id}}</b></a></div> {{email}} <div>&nbsp;</div> </li> {{/each}} </ol> […]

我想知道是否有可能使用node.js窗口之间发送数据

我的目标是使情景如下: 1) User opens myapp.com in Window A 2) User clicks button which opens myapp.com/doWork in Window B 3) After performing some operations and retrieving data (requiring user input), Window B closes 4) Window A displays the data retrieved from Window B 这是可能的使用node.js? 我意识到一个简单的解决scheme就是把所有的一切都在一个窗口中完成。 我使用快递/句柄。