Articles of 服务器端

在快速应用程序中使用Vue

我对构buildNode应用程序以及编写Vue是新手,但是我认为可以创build一个小程序来帮助我理解这两个问题。 这个想法很简单。 我试图创build一个可以在屏幕上显示的琐事游戏,用户可以使用手机来select主屏幕上出现的问题的答案。 正在使用Socket.io在服务器和客户端之间发送数据。 目前有两种路由: /和/host 。 连接到/host将生成一个唯一的ID(我将在响应中发送)并创build一个新的游戏实例,通过input主机屏幕上显示的ID来等待“玩家”join。 路线/ index.js exports.host = (req, res) => { let id = generateRandomNumber(1000, 9999); res.render("host", { type: "host", gameId: id }); }; exports.player = (req, res) => { res.render("player", { type: "player" }); }; function generateRandomNumber(min, max) { return Math.floor(Math.random() * (max – min + 1)) + min; […]

在各个引导组件上减less编译错误

我有点困惑。 我正在尝试使用lessc来编译包含bootstrap部分的应用程序。 我希望能够select我所需要的bootstrap,因为我不会全部使用它。 当我导入bootstrap.less一切都完美地编译。 但是,如果我导入只是reset.less或buttons.less我得到: TypeError: Cannot call method 'charAt' of undefined 。 这里发生了什么? 我的文件夹设置 less/ application.less bootstrap/ bootstrap.less reset.less buttons.less etc… application.less 当我有@ @import 'bootstrap/bootstrap'时,所有东西都编译得很好当我有@ @import 'bootstrap/bootstrap' @import 'bootstrap/reset' 而且我也尝试在文件名的末尾添加无效的,相同的结果。 我在网上发现,较less的版本1.3.0应该解决这个问题,但这是我正在使用的版本。 任何帮助将不胜感激。

NodeJS应用程序在客户端

我正在服务器上创build一个NodeJS应用程序。 而在客户端,我正在创buildBackboneJS。 对于web应用程序,最好在单个包中使用数据库连接,服务器端代码和客户端html文件。 因为我们在NodeJS中创build应用程序,所以当加载网页时,最好的办法是保证我们的服务器端JS文件不被下载到浏览器中。 在使用CommonJS和客户端JS文件访问数据库文件时,所有的文件都会被下载,最终用户将了解他浏览器上的所有服务器端代码。

带Meteor的Filepicker.io:如何返回实际的资产,而不是指向资产的链接

我正在使用filepicker.io与Meteor应用程序,并正在为我的应用程序的安全性工作。 Filepicker为创build和签署策略提供支持,但在Meteor的服务器端,我觉得为每个请求文件的用户创build过期的策略是过度的。 我想要做的是提供给用户间接链接到一个文件。 服务器用服务器端路由(铁路由器)拦截这个请求,然后服务器通过带有关于所述文件的元数据的Files集合来检查用户是否具有该文件的许可。 就像我现在所做的那样,如果用户有访问权限,我会为他们提供一个带有签名和策略的文件链接作为该链接的参数。 相反,我宁愿只返回图像或文件资产,根本没有链接。 例如,服务器端将通过只有服务器知道的链接访问文件或映像,但是服务器会将该文件或映像stream式传输到客户端,而不共享到文件的实际链接。 预期的代码看起来像下面这样,我最终不知道该怎么做: @route "file", path: "/file/:_id" where: "server" action: -> if @request.cookies.meteor_login_token user = Meteor.users.findOne( {"services.resume.loginTokens.hashedToken": Accounts._hashLoginToken(@request.cookies.meteor_login_token)} ) if user # the files collection has metadata about each file # these files are uploaded through filepicker # this include file.url which is the actual link file = share.Files.findOne( {_id: […]

私人代码如何在nodejs模块中访问?

加载模块后私有函数和模块数据是如何访问的? 我知道require函数加载模块并返回包含一些公共对象或函数的module.exports对象,但模块中代码的其他“ 私有 ”部分如何被访问? 它在哪里位于内存?

为什么把svg标签渲染到一个ejs文件不能识别

我尝试使用d3-node在服务器端创build图表,并尝试使用以下代码将新图表呈现为ejs:<%= svgChart%>当我使用浏览器查看它时,它只显示如下的svg标记内容: <svg xmlns="http://www.w3.org/2000/svg" width="960" height="400"><defs> <style type="text/css"><![CDATA[ .axis{font: 10px sans-serif;} .axis path,.axis line{fill: none;stroke: #000;shape-rendering: crispEdges;} .x.axis path{display: none;} ]]></style></defs><g transform="translate(40,20)"><path d="M20,32.4L20.430000000000003,32.4L20.86,32.4L21.290000000000003,32.4L21.720000000000002,32.4L22.150000000000002,32.4L22.580000000000002,32.4L23.01,32.4L23.44,32.4L23.87,32.4L24.299999999999997,32.4L24.73,32.4L25.16,32.4L25.590000000000003,32.4L26.02,32.4L26.450000000000003,32.4L26.88,32.4L27.310000000000002,32.4L27.740000000000002,32.4L28.17,32.4L28.6,32.4L29.03,32.4L29.46,32.4L29.89,32.4L30.32,32.4L30.75,32.4L31.18,32.4L31.61,32.4L32.04,32.4L32.47,32.4L32.9,32.4L33.33,32.4L33.76,32.4L34.190000000000005,32.4L34.620000000000005,32.4L35.050000000000004,32.4L35.480000000000004,32.4L35.910000000000004,32.4L36.34,32.4L36.77,32.4L37.2,32.4L37.63,32.4L38.06,32.4L38.489999999999995,32.4L38.92,32.4L39.35,32.4L39.78,32.4L40.21,32.4L40.64,32.4L41…………………………. 没有显示图表本身。 svgChart包含svg标签的string。 如果我将svgChart内容(string)直接复制到ejs,它将完美地显示图表。 看起来ejs在加载页面时不能显示标签的内容。它认为svgChart是一个普通的string。 我的问题是:如何使ejs将svgChart识别为svg标签,使其能够显示标签文本的svg图表insead?

ExpressJS + Webpack + react-router v4

我正试图build立自己的模板来创build反应应用程序,以便知道幕后发生了什么。 我被困在使用Webpack / Express / react-router v4的服务器渲染中。 只是不知道如何解决它。 我的express.js文件如下所示: const express = require('express'); const morgan = require('morgan'); const path = require('path'); const React = require('react'); const ReactDOMServer = require('react-dom/server'); const StaticRouter = require('react-router').StaticRouter; const App = require('./src/app'); const app = express(); // Views app.set('view engine', 'ejs'); app.set('views', path.resolve(__dirname, 'src', 'templates')) // Middlewares app.use(morgan(':method :url :status […]

node.js实现的基本思想是什么?

以下是我目前关于node.js如何工作的理论: 我在我的服务器上安装node.js,以便它可以解释JavaScript文件。 然后我写我的JavaScript文件,并把它们放在我的服务器上(就像我用PHP文件)。 然后通过我的客户端JavaScript与这些文件进行交互。 很明显,我遇到了一些问题,因为我一直在寻找一个过去一个小时左右的教程,这将教会我如何在我的服务器上安装它 – 但是它们似乎都专注于本地安装。 有人能给出一个最终实现将如何工作的点状图?

主干,js和node.js呈现和路由

嘿家伙很好,即时通讯新手骨干和节点,即时尝试制作自己的networking应用程序,即时通讯使用节点快递。 所以我在cmd中完成了“myappname”这个命令,并且得到了一个漂亮的应用程序结构。 添加主干jQuery等,现在就我所知,我可以使用快递路线就像: app.get("location" , require('./routes').index); 然后在我的路线/索引 我有这个中间件: exports.index = function(req, res){ res.render('index', { name: you }); }; 即时通讯也使用手柄,我的文件index.html看起来像这样: <div> {{name}} <div> 直到这里一切都清楚了 – 当客户端需要“/”页面时,他得到了index.html页面,该页面使用handlebars呈现并将一个对象传递给index.html输出 <div>you</div> 我的问题是骨干进来的时候! 作为路线的骨干也渲染也.. 所以我应该在哪里呈现和路由我的应用程序? 使用服务器上的节点? 或在客户端使用骨干网? 如果我不在骨干上呈现我的应用程序,我仍然可以使用主干进行更新我的模型? 当使用节点时,我如何使用主干进行渲染? 即时通讯如此混乱! 我知道节点它在服务器端和配偶照顾路由GET / POST / UPDATE等要求也与数据库等这样的,而骨干只是照顾客户端和来回发送数据。 我读过Addy Osmani的“开发Backbone应用程序”,他展示了一个使用骨干和节点的REST风格的Web应用程序,但没有足够深入,他没有在服务器上渲染,也没有路由多个页面,他只是显示一个简单的get / post / update / delete requsets。

将接收的实时dynamic数据推送给10,000个用户?

我正在对我正在开发的一个新项目提出一些指导,要求低延迟和高并发性。 该项目涉及从第三方供稿接收实时数据,经过一些基本处理和存储后,将这些值发送给网站上当前活动的所有用户。 数据通过HTTP Push到达,我目前的计划是使用Node.js接收这些数据,然后通过algorithm运行数据,然后更新某种数据库中的相关数据。 最后,更新通过websocket发送给网站的所有连接用户。 现在,我试图让这个可扩展性能够同时处理超过10,000个连接的用户,全部通过websocket连接,并且每3秒发送一次更新。 鉴于每个用户在此期间都可以与Web应用程序进行交互,这将导致许多请求来回。 现在,除了我所拥有的高层次的基本概念之外,决定将Ruby on Rails作为网站框架和节点j来处理它的“活力” – 我有点卡住了。 我不知道要使用什么样的数据库(我想这将是一个非关系数据库快速存储),我不知道如何构build这样一个设置的具体细节,以及如何实现逻辑。 所以我的问题是: 为了实现我的目标,我该如何构build这样一个应用程序,以及为了使其具有可伸缩性和实时性,我需要了解哪些内容? 非常感谢您的帮助。