Tag: 内容types

node.js中的头文件 – 套接口io资源解释为脚本,但是以MIMEtypes传递text / plain:

我是新来的node.js,我不明白如何工作。 我试图附加到我的项目fancybox在我的index.html,但它不起作用。 我正在使用c9.io工作区,所以它看起来像<script src="http://space…….c9.io/jquery.fancybox-1.3.4.js"></script> I仍然在控制台中得到相同的错误: socket io资源解释为脚本,但以MIMEtypes传递text / plain: 请问有没有人能解释我这个尽可能简单? 我的js文件 var http = require("http"), express = require('express'), app = express(), server = app.listen(process.env.PORT), io = require('socket.io').listen(server) app.get('/', function (req, res) { res.sendfile(__dirname + '/index.html'); }); io.sockets.on('connection', function (socket) { });

如何访问模块内的TypeScript定义?

我想input一些在NodeJS定义中描述的'Url'对象。 但'Url'对象在'url'模块下描述。 因为它在模块之下,所以它不被编译器识别为有效的types。 ///<reference path='../../../Definitions/node.d.ts' /> ///<reference path='../../../Definitions/node-webkit.d.ts' /> ///<reference path='../../../Definitions/cheerio.d.ts' /> var NodeUrl = require('url'); function findLinks($cheerio:Cheerio, internalOnly?:boolean, rootUrl?:url.Url):string[] { //url.Url is not recognised, neither is Url or NodeUrl.Url } 定义文件定义了以下模块(与NodeJS的其余部分一起): declare module "url" { export interface Url { href: string; protocol: string; auth: string; hostname: string; port: string; host: string; pathname: string; search: […]

强types和弱types语言之间的差异

我来自JS世界,我习惯于对可能由于input较弱而导致的所有可能的情况进行彻底的testing。 这样,在一个函数中,我检查所有传入的参数符合一些标准。 作为一个例子,在function createUser(username, id, enabled, role){}我将检查username是否是一个string, id是一个UUID, status是布尔值,angular色是一个string,必须是“pipe理员”,“用户'或'系统'。 我为这些情况创buildtesting,以确保当我传递错误的参数,testing失败,我需要find导致这个错误。 最后,我进行了很多testing,其中很多都是types检查testing。 现在,我正在使用强types的Swift。 我使用它来创build一个客户端应用程序,从NodeJS服务器端使用数据。 如果我想在Swift中创build一个类似的createUser()函数,看起来像我需要less得多的testing,因为types检查是在语言本身。 是不是认为基本上强types的语言比弱types的语言需要更less的testing呢? 在Swift中,一些testing似乎是不必要的,整个testing过程看起来更轻量级。 有什么事情可以通过以某种特定的方式使用语言结构来编写更less的testing,而且还要确保代码是正确的,并且可以按照定义通过testing?

Typescript和Node js得到“不是函数错误”

我有一个错误,可能在我的synatx中,我正在创build一个忘记密码function。 我得到的错误是这样的 [TypeError: self._forgotPasswordRouteHelper.sendPasswordResetEmail is not a function] 我的路线如下所示 getRoute(): hapi.IRouteConfiguration { const self = this; return { method: 'POST', path: this._config.apiPrefix + 'forgotpassword', handler: function(request: hapi.Request, reply: hapi.IReply) { let parsedRequest: IForgotPasswordDataRequest = null; let uuid: string; const result = new Promise<string>(function(resolve, reject) { self._validator.validate(request.payload, ForgotPasswordDataRequestValidator) .then(function(validationResult) { if (validationResult.error) { resolve(responseHelper.getErrorResponse(ResponseErrorCode.invalidRequest)); throw null; […]

500错误:对于使用ResourceJS的Mongoose模型,对于path\“_ id \”中的值转换为ObjectId失败

按照这个MEAN应用程序库中logging的一步一步的简单安装resourcejs,当我访问URL http:// localhost:3000 / movie / 584c6f00cf996a9956784807时,出现以下消息: {“status”:500,“message”:“对于model \”movie \“”,“errors”:{“}”投射到ObjectId对于path\“_ id \”中的值\“584dd2842a056e4a648751b5 \ POST请求也起作用,但PUT和DELETE不起作用。 index.js var express = require('express'); var bodyParser = require('body-parser'); var mongoose = require('mongoose'); var methodOverride = require('method-override'); var _ = require('lodash'); var app = express(); app.use(bodyParser.urlencoded({extended: true})); app.use(bodyParser.json()); app.use(methodOverride('X-HTTP-Method-Override')); // CORS Support app.use(function(req, res, next) { res.header('Access-Control-Allow-Origin', '*'); res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE'); res.header('Access-Control-Allow-Headers', […]

最稳定的方式将一个32位无符号整数转换为大端字节数组?

如果需要,将给定(无符号)整数转换为大字节和填充的四字节数组,最稳定和最简单的方法是什么? 这是一个例子: input值: 714 输出:这个字节数组[ 0xca, 0x02, 0x00, 0x00 ]; 顺便说一句:能够做到这一点的npm模块也可以。 背景:我需要这个字节数组作为通过node.js中的TCP套接字发送的XML消息的前缀。 所以我有一个发送缓冲区(一个字节数组),其中我把前缀,然后其余的缓冲区充满了XML消息的字节。

是否有必要在Node.js中设置一个Content-Type?

刚开始使用Node.js,看到一些例子后,我发现通常Content-Type是在返回一些内容之前设置的。 通常这样的HTML的东西: res.writeHead(200, {'Content-Type': 'text/html'}); res.write(html); res.end(); 对于图像: res.writeHead(200, {'Content-Type': 'image/png'}); res.write(img, 'binary'); res.end(); 我读了.write()的文档 ,它说,如果没有指定头文件,它将切换到隐式头文件模式并清除隐式头文件。 通过一些testing,我发现我可以像这样写一行: res.end(html); // or res.end(img); 这两个工作正常。 我也用我的本地Apache服务器进行了testing,当我加载一个图像时查看了设置的头文件,那里没有Content-Type头文件。 我需要麻烦设置它们吗? 如果我不这样做,可能会出现什么情况或错误?

为什么具有ObjectID(MongoDB)types的会话参数转换为string?

我写了下面的testing代码来说明我的问题: var express = require("express"), MongoStore = require("connect-mongo")(express), mongoose = require("mongoose"), config = require(process.cwd() + "/src/config"); exports.run = function() { console.info("running http server"); //create a new HTTP server var server = express(); //sessions server.use(express.cookieParser(config.sessions.secret)); server.use(express.session({ secret: config.sessions.secret, key: config.sessions.key, proxy: true, cookie: {maxAge: config.sessions.maxAge, signed: true}, store: new MongoStore({ mongoose_connection: mongoose.connection }, onStoreSetup)})); //create a […]

如何在@types上为范围/命名空间包安装TypeScript声明?

我正在使用TypeScript,我想要使用不包含自己的types声明的作用域包(例如@foo/bar , @babel/core等)。 我试图运行类似的东西 npm install @types/@foo/bar 但似乎并不可用。 有没有办法从@types作用域DefinitelyTyped这些.d.ts文件? 如果需要的话,有没有办法编写自己的作用域包?

在JavaScript中使用一个API,使用JS最大整数以上的ID

我正在构build一个从Vine API中提取数据的Node后端,并将其返回到我的前端。 根据这个问题,post和用户的ID是Numbertypes的,他们经常超过javascript可以支持的最大整数。 来自API的示例ID是934416748524998656 。 当我在前端使用JSON.parse时,它会将最后两位数字replace为0,因为它不能读取那么高的数字。当我尝试使用特定的ID与API对话时,会导致问题,因为它现在不会识别ID。 有没有什么东西可以用另一种语言创build一个新的服务,我可以使用这些ID来处理? 我尝试使用toString()来解释数字为string,而只是创build一个已经格式不正确的数字的string。 谢谢你的帮助