Articles of 网页

从路由中传递大量数据到使用渲染在节点中查看的最佳方法?

我有一个路由文件。 当用户转到site.com/page时,我的路由会调用SQL DB,然后parsing结果并将其作为JSON返回。 然后我用 res.render('route/to/view', {data: result, moredata: resultTwo}) 将数据发送到视图。 问题是我的数据比较大,需要永远发送到视图。 我100%确定这是让我的网页缓慢运行的原因。 当我将数据集切成两半时,显示速度会更快。 我也知道这个数据的实际显示也是一个因素,但是我严格的关注从路由到视图的速度。 通过一堆小块而不是一个大块更有效率吗? 唯一的办法就是逐渐传递小块?

angular与节点

所以我试图工作AngularJS和节点。 我正在尝试设置客户端路由,但我有一些问题。 编辑 所以我改变了一些代码: @PareshGamibuild议的https://github.com/scotch-io/starter-node-angular 。 我得到的url被击中,但现在的实际内容不加载。 这是我更新的代码: server.js: var express = require('express'), app = express(), bodyParser = require('body-parser'), mongoose = require('mongoose'); app.use(bodyParser.json()); require('./server/routes')(app); app.use('/js', express.static(__dirname + '/client/js')); app.use('/views', express.static(__dirname + '/client/views')); app.use('/bower_components', express.static(__dirname + '/bower_components')); app.use('/node_modules', express.static(__dirname +'/node_modules')); app.listen(3000); console.log('Im Listening…'); exports = module.exports = app; 我的angular度app.js: (function (angular) { 'use strict'; var app […]

困惑于从AJAX发送到我的Express服务器的请求path

我有一个Node.js快速服务器的基本设置 我正在尝试使用res.sendFile服务html文件,使用这个路由处理程序: router.get('/:run_id/:test_num',function(req,res,next){ var runId = req.params.run_id; var testNum = req.params.test_num; res.sendFile(path.resolve('results',runId,testNum),{ maxAge:'58h' }); }); 在我的app.js文件中,我有这个中间件 app.use('/results', require('./routes/results')); 问题是请求被路由如下: pathname: '/results/results/1450830953375/test6.txt', path: '/results/results/1450830953375/test6.txt', href: '/results/results/1450830953375/test6.txt' 所以问题在于它是/results/results/而不是just /results 我正在使用RequireJS和包含要请求的文件的数据的模块如下所示: define('SumanTestFiles',function(){ return new Object(["results/1450830340344/test5.txt","results/1450830340344/test6.txt"]); }); 然后循环遍历每个文件path并使用jQuery / AJAX从服务器请求它: define(['SumanTestFiles'],function(stf){ stf.forEach(function (testPath) { $.get(testPath).done(function (msg) {… 所以你可以看到testPaths没有被篡改,他们毫无疑问只是简单的“结果/ 1450830340344 / test5.txt”,或者类似的东西。 所以我的问题是,为什么path显示在我的服务器与path中的两个相邻的'结果'string实例? 这没有什么意义,因为请求应该是 /results/1450830953375/test6.txt 不 /results/results/1450830953375/test6.txt 有人有主意吗? 谢谢

模板文字被困在一个stringvariables中

我有一个模板Hello, ${user.name}存储在一个variables中。 我正在使用fs.read从外部文件读取这个。 现在,当我附加到目标div的innerHTML时,它显示了string,而不是“Hello,James”(假定用户名= James)。 有没有办法让它发生? extfile.txt => {"A":"`Welcome, ${user.name}`"} Node.js code => fs.readFile(__ dirname +'/extfile.txt','utf8',函数(err,data){ 如果(err){ return console.log(err); } else { 让x = JSON.parse(data); socket.emit( 'var' 或XA); } }); HTML => socket.on( 'var' 或函数(X)){ getElementById('target')。innerHTML = x; }

当pipe道/stream传输到浏览器时,HTML文件显示为明文

我有这个快速处理程序 router.get('/', ac.allow('Admin'), function (req, res, next) { let html = path.resolve(__dirname + '/../coverage/lcov-report/index.html'); fs.createReadStream(html).pipe(res); }); 问题是文件被发送到浏览器, 但它只是显示为纯文本,并没有得到渲染 …有趣的,但有道理。 有谁知道这是为什么?

使用callback函数时节点js中响应对象的作用域

我有一个函数onRequest(request,response),它包含一个callback函数。 当我尝试使用响应对象(即response.write())在callback函数中打印数据时,它不打印。 但相同的数据打印在控制台上使用console.log()请帮助为什么response.write()不起作用。 var http = require("http"); var _mysql = require("mysql"); function onRequest(request, response) { console.log("Request received."); response.writeHead(200, { "Content-Type": "text/plain" }); response.write("Hello World"); var _mysql = require('mysql'); var HOST = 'localhost'; var PORT = 3306; var MYSQL_USER = 'root'; var MYSQL_PASS = 'root'; var DATABASE = 'library_management'; var TABLE = 'book_details'; var mysql = […]

一旦在node.js Web服务器上生成了一个图像(使用快速),最简单的方法是什么?

我使用express 4框架在node.js中创build了一个小型Web服务器。 当用户从主网页提交图像文件时,通过multer中间件上传到服务器,由python脚本进行处理,然后将生成的图像保存在服务器上。 一旦完成并保存在服务器上,我可以将完成的处理后的图像发送回客户端,最简单的方法是什么?

如何安装和使用Jade

最近我在YouTube上看了一些video教程,碰到这个JADE的东西,我怎么安装和使用它来进行我的网页开发? 我search了一下,但没有find一个适当的网站,教一步一步继续。 而网站jade-lang.com不可用。 我从网站做到这一点,但node.js抛出一些错误。 下面的截图:

上传mp3到NodeJS Express服务器损坏文件

我想从我的Web客户端上传一个MP3文件到Node Express服务器。 我可以上传文件,然后写入磁盘。 但是,文件被损坏,我不能用MP3播放器播放歌曲。 如果有所作为,文件将从OS X机器上传,然后写入Ubuntu服务器。 上传的file upload的大小比原来的大。 我在这个工作stream程中没有收到错误。 直到我开始播放文件,没有任何问题。 请参阅下面的代码。 任何想法,为什么我遇到这个? 客户 uploadSong: (song) => { fetch('http://localhost:8080/song', { method: 'PUT', headers: { 'Content-Type': 'audio/mpeg', }, body: song }) .then( response => { console.log("Got response after uploading song:", response); }) .catch( error => { console.log("Error in Firebase AC upload song: ", error); }); } 服务器 […]

如果没有`www`,域名无法正常工作,那么node.js中的解决scheme是什么?

我知道这个问题已经被问到域名不工作没有www 但是我需要一个解决scheme,用于托pipe在heroku上的node.js应用程序,以及使用名为komodo的namecheap 另外,我发现这个类似的东西 ,我根本不明白。 有人可以举例说明如何在node.js中处理这个问题吗? 详情:我正在使用快递。 在Heroku我有 langtime.me(Domain Name) yamanashi-3938.herokussl.com (DNS Target) www.langtime.me(Domain Name) yamanashi-3938.herokussl.com(DNS Target) 在Namecheap中我有: @ | https://www.langtime.me | URL redirect www | yamanashi-3938.herokussl.com. | CNAME