我习惯于使用httpd(Apache),它提供了一种配置映射到目录的子域的方法.我如何在Connect.js/Express.js中做同样的事情?我看到我唯一拥有的是路由,我不知道如何使用它来配置子域.我有像m.mysite.com,sync.mysite.com这样的子域名
有人可以帮忙吗?
我正在node.js中编写一个Web应用程序.现在,服务器上的每个处理始终位于会话的上下文中,该会话在请求到达服务器时的第一阶段检索或创建.在此之后,执行流经多个模块并在其中进行回调.我正在努力的是创建一个编程模式,以便在代码中的任何一点,会话对象都可用,而程序员不需要它在每个函数调用中将它作为参数传递.
如果所有代码都在一个文件中,我可能有一个闭包,但如果有其他文件中的其他模块的函数调用,我如何编程,以便会话对象在被调用函数中可用而不将其作为参数传递.我觉得这两个文件中的两个函数之间应该有一些联系,但是如何安排这就是我遇到的问题.
一般而言,我想说总是存在一个执行上下文,它可以是一个会话或一个网络请求,其处理分布在多个文件中,并且执行上下文对象将在所有点上可用.实际上可能有多个用例,例如每个网络请求有一个Log对象,或者每个会话有一个Log对象.并且需要进行这项工作所需的管道应该是横向安装的,而不需要应用程序员来解决它.他只知道所有地方都可以使用执行上下文.
我认为这应该是每个人都面临的相当普遍的问题所以请给我一些想法.
以下是问题所在
MainServer.js
app = require('express').createServer();
app_module1 = require('AppModule1');
var session = get_session();
app.get('/my/page', app_module1.func1);
AppModule1.js
app_module2 = require('AppModule2');
exports.func1 = function(req,res){
// I want to know which the session context this code is running for
app_module2.func2(req,res);
}
AppModule2.js
exports.func2 = function(req,res){
// I want to know where the session context in which this code is running
}
Run Code Online (Sandbox Code Playgroud) 问题是关于Chrome使用文件网址引发跨域错误
我使用带有相对路径形式的data属性的object标签将svg文档嵌入到HTML中,onload事件我想使用getSVGDocument()获取SVGDocument.
我正在使用文件URL访问html文件,当调用getSVGDocument时,Chrome会发出跨域错误.Chrome实际上嵌入了SVG,但getSVGDocument不会返回SVG的DOM
Chrome错误是"不安全的JavaScript尝试使用URL文件访问框架:/// C:/MyFiles/website/Dir1/a.svg来自URL文件:/// C:/ MyFiles/website/Dir1/index.域名,协议和端口必须匹配."
正如您可能看到html和嵌入式文档svg的基本路径相同,那么为什么Chrome会抛出此错误?
我想在可见性CSS属性上做一个基于关键帧的动画.我最初在"显示"上尝试过,但发现'display'上的动画不受支持,但是'visibility'是.这个想法是让矩形的可见性保持切换.我不想使用jquery并希望在CSS中实现它的全部内容.以下是我的代码,但它没有给出矩形的预期结果,直到第5秒仍然隐藏,出现然后在动画结束时再次消失
<head>
<style type="text/css">
#layer1 {
-moz-animation-duration: 10s;
-moz-animation-name: toggle;
}
@-moz-keyframes toggle {
from {
visibility:hidden;
}
50% {
visibility:visible;
}
to {
visibility:hidden;
}
}
</style>
<script type="application/javascript">
window.onload = function()
{
var c = document.getElementById('layer1');
var ctxt = c.getContext('2d');
ctxt.fillStyle = 'red';
ctxt.fillRect(0,0,200,200);
ctxt.fillStyle = 'green';
ctxt.fillRect(0,0,100,100);
}
</script>
Run Code Online (Sandbox Code Playgroud)
<body>
<canvas id="layer1" width="200" height="200" >
</canvas>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 我们正在开发一个Web应用程序,并寻找一个可靠的现有框架/应用程序,其中包括用户管理,组管理,登录屏幕,组管理屏幕,用户注册等...我感觉所有SaaS提供商都需要这样的东西,应该有一些东西,我不需要再写一切.我搜索了谷歌,但找不到任何这样的东西,但我确信有这样的东西,因为它是任何Web应用程序的基本要求.它可以是单独的服务器形式,也可以集成到我们的应用程序中,语言对我们来说并不重要.易于集成和定制是最重要的
web-services web-applications user-management single-sign-on
为了实现2D动画,我正在寻找两个关键帧之间的插值,其中变化的速度由贝塞尔曲线定义.问题是贝塞尔曲线以参数形式表示,而要求是能够评估特定时间的值.
详细说来,假设10和40的值将在4秒内插值,其值不是经常变化,而是由表示为0,0 0.2,0.3 0.5,0.5 1,1的贝塞尔曲线定义.现在如果我以每秒24帧的速度绘制,我需要评估每帧的值.我怎样才能做到这一点 ?我看了De Casteljau算法并且认为将曲线分成24*4个片段4秒将解决我的问题但是这听起来是错误的,因为时间沿着"x"轴而不是沿着曲线.
进一步简化如果我在平面中绘制曲线,x轴表示时间,y轴表示我正在寻找的值.我实际需要的是能够找出对应于"x"的"y".然后我可以在24个分区中划分x并知道每个帧的值
嗯,我看到了一件奇怪的事情,这不是我所期望的 TCP 理论。客户端在握手时将 MSS(最大段大小)设置为 1360,窗口大小为 64K,但 Linux 服务器发送的 TCP 数据包包含 4KB、7KB、一些 8KB 的数据包(超过 1360),我预计它会小于 1360 字节
我通过执行 tcpdump 然后在 WireShark 中看到它来观察到这一点
我没想到服务器每个 TCP 数据包发送超过 1360 字节,我对 TCP 工作原理的理论理解是否有误?
我需要允许我的Web应用程序的用户在使用javascript实现的编辑器(在浏览器上工作)之后将文件保存在本地文件系统中我听说过HTML5中的FileWriter API,但不确定它是否支持任何Firefox版本,特别是FireFox 5.
除了服务器端处理之外,是否有任何其他选择允许用户将文件保存到FireFox中的本地文件系统(当然是获得用户的许可).正如我所读到的,谷歌Chrome支持FileWriter API,但尚未能使其工作.
我想遍历一个具有一个成员变量和一个方法的简单类的 AST。我发现该类表示为 CXXRecordDecl。
CXXREcordDecl 中用于获取表示为 FieldDecl 的成员变量列表的 api 是什么?
这是一个有趣的范围链案例,在很多文档中没有解释,我发现很难理解.如果有人花时间阅读下面评论良好的代码并解释变量如何得到解决,那将是非常好的
我在文档上有两个矩形(DIV).我在mousedown监听器中注册了mousedown的事件监听器,我注册了mouseup.在mouseup的监听器中发生了奇怪的事情.
通过使用不同的参数值调用testfunc两次来创建两个执行上下文:
window.onload = function() {
test_func("horizontal"); // First Execution context
test_func("vertical"); // Second Execution Context
}
Run Code Online (Sandbox Code Playgroud)
在第一个矩形(水平)的mouseup监听器中,正在使用第二个执行上下文(垂直),这是反直觉的:
function test_func(dir) {
var X = 9; // variable which helps to track the execution contexts
if(dir === "horizontal")
X = 1; // leave at 9 if vertical
mouseup_vert = function() {}
mouseup_horiz = function() {
// Here the value of X I am getting is 9 whereas I am expecting 11
// QUESTION: Why I am getting the second execution …Run Code Online (Sandbox Code Playgroud) 使用express.js处理各种路由时我想将所有路由代码封装在一个单独的模块中,但是如何跨模块访问req和res对象,请参阅下面的代码主文件examples.js编写如下
var app = require('express').createServer();
var login = require('./login.js');
app.get('/login', login.auth(app.req, app.res));
app.listen(80);
Run Code Online (Sandbox Code Playgroud)
我想要的是登录处理代码写在一个名为login.js的单独模块/文件中,然后问题是如何在login.js中访问响应对象.我认为以下代码不起作用,因为req和res的类型没有解决.
exports.auth = function(req, res) {
res.send('Testing');
}
Run Code Online (Sandbox Code Playgroud)
因此,当我用节点example.js启动服务器时,我收到错误
'无法调用方法发送未定义'
Request和REsponse对象如何沿模块传递
express ×3
html5 ×3
javascript ×3
node.js ×3
animation ×2
bezier ×1
clang ×1
closures ×1
connect ×1
connect.js ×1
cross-domain ×1
css ×1
css3 ×1
embed ×1
html ×1
linux-kernel ×1
math ×1
networking ×1
scope ×1
subdomain ×1
svg ×1
tcp ×1
web-services ×1