Articles of expression

在Angular Universal应用程序中从ExpressJS获取vaues

我正在构build一个Angular2通用应用程序,我正在整合ng2-translate 。 服务器端我需要知道用户的语言,我可以通过request.acceptsLanguages() ( 见文档 )从ExpressJS获得。 我正确地得到这些值在server.ts像这样: function ngApp(req: any, res: any) { let supportedLangs = req.acceptsLanguages(); console.log('supportedLangs', supportedLangs); res.render('index', { req, res, ngModule: AppModule, preboot: false, baseUrl: '/', requestUrl: req.originalUrl, originUrl: req.hostname }); } 然后我不知道如何通过他们,或访问他们,在我的app.node.module.ts我为服务器设置ng2-translate 。 有没有办法从Angular Universal应用程序(服务器端)访问这些值? 怎么样?

string正则expression式replace节点js

我在我的节点js中有下面的string。 var textToReplace = "Your <b class =\"b_1\">1</b> payment due is $4000.Your <b class =\"b_1\">2</b> payment due is $3500. Your <b class =\"b_1\">3</b> payment due is $5000."; 这里我想用<b class =\"b_1\">*</b>replace<b class =\"b_1\">*</b> 。 输出是Your 1 payment due is $4000.Your 2 payment due is $3500. Your 3 payment due is $5000. Your 1 payment due is […]

Rest Api最佳实践 – 以查询参数的forms传递date

我正在使用NodeJs写一个rest服务,并表示中间件。 我有下面的问题 – 我不得不在每个服务中使用userid和token进行身份validation,而不考虑GET , POST , PUT和DELETE方法types。 采取这两个参数,即请求标题或查询参数的最佳方法是什么? 我不想把它作为身体参数,因为请求不会有身体。 我想写一个方法types为GET的服务的数据检索的服务,这个调用的参数是string和date。 我怎么把这个parameter passing给查询参数,具体来说date参数应该作为jsdate还是其他格式来传递呢? GET – https://localhost:someport/<objectid>/<createddate> headers – x-user-id:someid x-access-token:sometoken 如果这样的话,哪个格式的创builddate应该被传递。 或者我应该使用下面的一个? GET – https://localhost:someport/ headers – x-user-id:someid x-access-token:sometoken x-object-id:someid x-created-date:somedate

快速会议不会一直持续到页面

我试图保存会话,但是当我做会话不存在下一个请求。 当我发送一个ajax请求到/login我用req.session.username设置会话,然后发送一个表示{success:true}的对象。 然后刷新页面,如果用户名存在于会话中,则显示用户页面,否则显示主页面。 每次刷新页面/它始终显示login,即使我发送请求到/login和设置会话。 为什么会议不保存? let express = require('express') let sessions = require('express-session') let bodyParser = require('body-parser') let app = express() app.use(sessions({ secret: 'connection-id', resave: true, saveUninitialized: true, cookie: { maxAge: 60000 } })) app.use(bodyParser.json()) app.get('/', (req, res) => { if (req.session.username) { res.render('pages/home') } else { res.render('pages/index') } }).post('/login', (req, res) => { if […]

JS正则expression式:如何从“08/08/2017”中删除前2个零

我是新来的正则expression式,并一直在研究整夜如何从“08/08/2017”string中删除前2个零(不删除“2017”中的0) 我看过的5个以上的正则expression式教程似乎没有涵盖我在这里需要的东西。 date可以是系统返回的任何sysdate。 所以正则expression式也需要为“12/12/2017” 这是我所想到的最好的: let sysdate = "08/08/2017" let todayminuszero = str.replace("0",""); let today = todayminus0.replace("0",""); 它工作,但显然这是不专业的。 从教程中,我敢肯定,我可以做一些事情:str.replace(/ \ d {2} // g,“”),); 这种模式可以避免在str中获得第三个零。 replacestring将不得不表示8/8 /不知道如何写这个虽然。

当用正则expression式search时,redis的响应时间很长

我使用redis作为我的主数据库(mongodb)caching系统。 一切工作正常,直到caching的文件数越来越大,例如15K文件caching后,redis响应时间增加。 这是我在Redis中的关键 价值 key: userId_123_username_test_email_test@gmail.com value: JSON.stringfy(userobject) 正如我在标题中说的,当我试图find与正则expression式的文件,响应时间增加。 我正在寻找索引文件,我发现这篇文章 根据这篇文章我发现,我可以设置年龄字段的索引,但实际上我需要设置电子邮件或用户名索引 HMSET user:1 id 1 username antirez ctime 1444809424 age 38 ZADD user.age.index 38 1 也试试这个: ZADD user.username.index antirez 1 返回错误: ERR值不是有效的浮点数

球员运动对angular线 – 太快|| 的NodeJS

如果我向右或向左或向下移动播放器,则向该方向移动5px。 但是,如果我按下,右侧例如播放器正在向右移动5像素和5像素,从前一个位置,而不是5像素约7像素。 我可以添加下一个IF语句:if(up and down)然后spdX和spdY =(maxSpd – maxSpd√2)/或简单的-25%? 但是我觉得我的代码有点混乱 任何不错的解决scheme,快速,看起来很简单? 🙂 这是我的代码: self.updateSpd = function(){ if(self.pressingRight){ self.spdX = self.maxSpd; if(self.pressingShift && self.stamina > 0){ self.spdX += self.maxRun; self.stamina –; } } else if(self.pressingLeft){ self.spdX = -self.maxSpd; if(self.pressingShift && self.stamina > 0){ self.spdX -= self.maxRun; self.stamina –; } } else{ self.spdX = 0; } if(self.pressingUp){ self.spdY […]

无法连接到MongoClient.connect内的Redis

我在MongoClient.connect里连接Redis时遇到了麻烦。 虽然两者分开工作,但是在mongo的callback里,Redis并没有连接。 我的文件结构是这样的: mongoUtil.js: const chalk = require( 'chalk' ) const MongoClient = require( 'mongodb' ).MongoClient const appConfig = require( '../config/appConfig' ) let _db module.exports = { connectToServer: callback => { MongoClient.connect( appConfig.MONGO_URL, { promiseLibrary: Promise }, ( err, db ) => { _db = db; console.log( chalk.blue('Connected to MongoDB') ) callback( err ) } […]

获取正确的ID而不共享URL

我有一个Angular 4应用程序,我试图从MySQL数据库中取一行(使用ID)。 我用ExpressJS使用NodeJS。 但是,我正在努力寻找一种方法来从URL获取ID而不共享确切的URLpath,因为这将导致网站只呈现JSON对象,而不是组件。 server.js app.get('api/books/:id', (req, res) => { console.log(req.params.id); }); 如果URL是localhost:3000/books/3 ,控制台将会logging:id 。 localhost:3000/api/books/3会将正确的IDlogging到控制台。 问题是在我的Angular路由中使用后者作为我的URL会导致共享path,这是行不通的。 以下是我如何使用Angular的HttpModule向服务器发送GET请求的示例: this.http.get('api/books/:id') .map(res => res.json()) .subscribe(data => { this.bookDetail = data; }); 这里是我使用Angular的RouterModule进行路由的path: { path: 'books/:id', component: BookDetailComponent } 我将如何去解决这个问题?

Angular 5 Universal:在开发中使用server.ts

我使用了新的Angular Universal Starter来启动一个新的Angular 5项目。 对于新版本,他们只提供Angular CLI版本作为首发。 一切工作正常,我可以用npm run serve:ssr等在生产中运行我的项目。 但是:我为node.js / express服务器定制了一个API,作为后端的包装器。 当使用ng serve或npm run start开发项目npm run start我有一个工作的Angular应用程序,在文件更改等时自动重新加载。不幸的是,在开发中, server.ts文件被忽略,所以我的API包装器不可用。 那么有没有人得到新的Angular Starter Kit,并使用开发中使用的server.ts文件运行?