Tag: 单页面应用程序

具有socket.io的单页应用程序中特定于部分的侦听器

我正在构build一个具有一些实时function的应用程序(通知,实时评论,…,当然还有经典的聊天室)。 它的结构是一个单一的页面应用程序。 我使用page.js来处理路由,require.js,现在还有一个简单的自定义mvc框架。 后端与节点和socket.io实时支持。 事情是,我有不同的部分,如家,post,聊天。 每个部分都是基于路由dynamic呈现的。 现在,我应该如何为每个部分绑定特定的套接字事件? 我不想听那些与当前观看部分无关的事件。 我应该每次创build一个新的连接用户更改该部分,目标不同的命名空间? 或者我应该删除套接字中的所有事件侦听器,并附加一组新的事件? 我不知道什么是最好的方法,或者如果socket.io是最好的select。 谢谢。

使用Node Express和Passport捕获锚链接/路由

许多JavaScript框架利用锚标签在SPA内build立路由。 是否有可能捕获锚路由保存在我的会话存储进行身份validation? 例如,利用快递和护照,我有: routes.js //node stuff above app.get('/', auth.savePath, pages.index); auth.js exports.savePath = function (req, res, next) { if (!req.isAuthenticated()) { req.session.returnPath = req.originalUrl return res.redirect('/login') } next() } req.originalUrl不捕获锚path,只有应用程序path和查询stringvariables – 任何想法? 我没有看到任何可以让我捕获这些信息的快速文档。

如何在没有Cookie的情况下在SPA中使用第三方authentication服务?

在我的Web应用程序中,恰好是一个SPA(单页应用程序),我有OpenID和OAuth2.0客户端用于使用第三方服务进行用户validation。 即Google(OpenID),Yahoo(OpenID),Windows Live(OAuth2)和Facebook(OAuth2)。 现在,我已经设置了一个令牌端点,用于交换不记名令牌的用户凭证。 这里的目标是通过在SPA的所有请求中设置的授权标头replaceCookie。 为此,我使用OAuth2.0客户端密码身份validation策略和“密码”grant_type根据凭据(oauth2orize + passport-oauth2-client-password)对用户进行身份validation。 我想知道 : 如何使用第三方服务validation的用户继续使用令牌承载validation方法? OAuth2.0规范中有什么处理这种情况? 这种实现的常见做法是什么?

expression通配符规则

我正在使用Node和Express托pipe单页应用程序。 我使用客户端的静态中间件。 我正在使用pathurl来浏览应用,例如domain.com/profile/134。 我正在使用history.pushState在客户端内部更改页面,这工作正常。 我所缺less的是服务器上的通配符规则,当用户直接访问我的页面到非根的path时,捕获所有可能的path。 如果我试图直接访问domain.com/profile/134,我得到这个:“不能GET / profile / 134”。 我试图在server.js的末尾插入一个通配符,但是每次访问页面根目录的时候都会碰到它。 这是我的相关代码: var express = require('express'); var app = express(); app.use(express.static(__dirname + '/../client')); app.get('/*', function(req, res) { console.log('wildcard'); }); 这是正确的GET通配符规则来实现我所需要的,我怎样才能服务这个处理程序内的静态客户端? 之后只要保存了初始path,我的客户端就会find正确的页面。 我基本上希望这个通配符规则的行为与静态规则相同,但保留初始path。

多个SPA与node.js和AngularJS

为大型企业项目提供多个AngularJS SPA和单个node.js应用程序是否有意义? 即家庭,login和用户是快速路线和儿童/部分将被路由在AngularJS SPA。 这样我就可以将静态内容(js,css ..)分解为更小的包/文件,控制公共内容(对后端内容进行身份validation),更均匀的服务器负载等。 /家 /关于 /联系 /产品 /login /login /寄存器 /重设密码 /用户 /列出所有 /细节 /创build 。 。 。

如何使用Express.js正确设置单页应用程序的路线?

我正在尝试使用Express.js构build单页面应用程序。 在我的index.html页面上,我有一个基本的表单,它在提交后会向API发出请求,检索数据,parsing数据,然后将分析的数据呈现为链接列表。 现在我能够呈现索引页面,并且可以从我添加到页面的表单中对API进行提交调用。 我感到困惑的是如何正确地redirect我从API调用获得的数据,然后将其呈现在同一页面上。 我之前已经使用Express构build了简单的应用程序,在那里有多个视图,但从来没有一个页面的应用程序 对于这些应用程序,我知道对于响应,你可以调用像res.render('视图渲染的名称',数据),但在这种情况下不起作用。 我试图通过这个网站和通过快速文档find一些解决scheme,但我还没有看到任何东西,也没有包括使用像Angular的另一个框架。 对于这个应用程序的目的,我不需要包含任何额外的框架,我有点失落。 我现在调用API的函数看起来像这样。 当它被调用时,我被引导到一个只显示了json的页面 app.use(express.static(path.join(__dirname, '/public'))); app.use(bodyParser.urlencoded({ extended: false })); app.use(bodyParser.json()); app.use('/', express.static(path.join(__dirname, 'public'))); app.get('/search', function(req, res) { var title = req.query.movieTitle; var url = 'http://www.omdbapi.com/?s=' + title; request(url, function (err, response, body) { var results = JSON.parse(body); var movieTitles = results.Search; console.log(movieTitles); res.send(movieTitles); }); });

如何用Express后台构build多个布局的Angular JS

我的网站有3个主要部分,着陆页,pipe理面板和用户仪表板 我的文件结构分为2个文件夹 / client => angular frontend / server => express api后端 我正在使用一个快速后端api 通常在angular度上,应用程序的客户端中有一个index.html文件,我们将其用于所有路由 但是,如果我想要把它分成模块,一个index.html布局的不同部分,如登陆,pipe理和仪表板。 因为每个模块都有自己的asssets,资源..是包括单个html页面中的所有资源的好办法? 我怎样才能克服这个问题? 我可以使用多个SPA并将它们连接在一起,同时保持它们使用相同的API 对于这个问题的任何想法或者你如何处理这个在你的项目中,你如何实现pipe理面板等 我的目标是有这样的客户端文件夹/客户端/pipe理… index.html /登陆… index.html /仪表板… index.html 提前致谢

使用React Router 4进行服务器端渲染时,上下文为未定义

我正在使用React Router 4在基本级别上实现服务器端渲染,以了解它是如何工作的。 不过,我遇到了一些问题,React Router提供的文档并不清楚如何解决它们: 1)/服务器/路由中的我的上下文variables是未定义的。 在前面的教程中我看到React Router用来使用createServerRenderContext(); 但是在他们的文档中没有提到,所以我假设他们摆脱了它。 我认为StaticRouter应该为你创build你的上下文吗? 我如何定义我的上下文? 2)我的htmlvariables呈现StaticRouter作为一个string在控制台显示这两个错误: Warning: React.createElement: type is invalid — expected a string (for built-in components) or a class/function (for composite components) but got: undefined. You likely forgot to export your component from the file it's defined in. Uncaught Error: Element type is invalid: expected a string […]

无法在Nodejs中执行fileupload程序

我有一个简单的程序,我试图从在线教程在http://www.tutorialspoint.com/nodejs/nodejs_express_framework.htm执行,但我收到一个exception,如下所示: 我对nodejs比较陌生,任何帮助或指导都将非常感激。 使用NodeJS版本:4.1.1。 例外 TypeError: app.use() requires middleware functions at EventEmitter.use (c:\nital\my-data\my-sample-apps\nodejs\tutorialspoint-samples\node_modules\express\lib\application.js:209:11) at Object.<anonymous> (c:\nital\my-data\my-sample-apps\nodejs\tutorialspoint-samples\Sample37.js:11:5) at Module._compile (module.js:434:26) at Object.Module._extensions..js (module.js:452:10) at Module.load (module.js:355:32) at Function.Module._load (module.js:310:12) at Function.Module.runMain (module.js:475:10) at startup (node.js:117:18) at node.js:951:3 FileUploadDemo.js var express = require('express'); var app = express(); var fs = require("fs"); var bodyParser = require('body-parser'); var multer = […]

为什么使用Bower.js如果npm工作正常?

在项目prarent目录中,如果我这样做, npm init 一个文件“package.json”被创build, 现在,如果我想安装像angular,jQuery和bootstrap这样的依赖关系,我可以这样做 npm install angular –save-dev npm install jquery –save-dev npm install bootstrap –save-dev 创build一个文件夹“node_modules”,具有上述依赖关系。 并在“package.json”中input相同的条目。 现在使用任何构build工具,如让说gulp.js, 我可以在我的SPA(单页面应用程序)index.html中注入“node_module”依赖项。 所以我的问题是,为什么要使用鲍尔? 请让我知道一些指针