Articles of 内容types

JS – 如何将所有键转换为其值(从对象)

我有这样的事情(即时通讯从API获取,所以我不能改变它): { one: [ { price: ['$10'], weight: ['1000'], color: ['red'] } ], two: [ { price: ['$20'], weight: ['2000'], color: ['green'] } ], three: [ { price: ['$30'], weight: ['3000'], color: ['blue'] } ] } 我想将所有“价格”,“重量”和“颜色”键转换为其值,看起来像这样: { one: [ '$10', '1000', 'red' ], two: [ '$20', '2000', 'green' ], three: [ '$30', '3000', 'blue' […]

FlowType包装获取而不会丢失默认types的注释

我想要做的就是包装fetch函数来处理一些类似调用.json()的fetch样板文件。 但问题是,如果我包装fetch函数,在一个函数与我自己的注释,我失去了很多的types安全,因为我的types将永远不会像默认情况下与stream来的具体。 所以我试图利用存在types(*)和typeof来使Flow保持默认的注释 // Imported as f because importing as "fetch" // overwrites all of Flow's default type info about fetch import f from 'node-fetch' export const fetchJSON: typeof fetch = (url: *, opts: *): * => f(url, opts).then(r => r.json()) export const post: typeof fetchJSON = (url: *, opts: *): * => fetchJSON(url, { […]

从打字稿模块自动生成index.d.ts,types定义

如果我有一个TypeScript模块保存为my-function.ts,如下所示: export function myFunction (param: number): number { return param } 这将以任何方式编译为JavaScript,并将其types定义放宽。 然后我可以创build一个index.d.ts文件来声明这个模块的定义,但是重新定义/重新定义这个定义似乎有点繁琐。 有没有办法从my-function.ts文件自动生成types定义到一个index.d.ts文件?

为request.post设置内容types的标题为json

我正在为我的项目使用“hackathon-starter”节点群。 在这个构build中,当我尝试从request.post调用一个API时,它将采用“内容types'application/x-www-form-urlencoded;charset=utf-8'打电话,但只会采取 内容types:'application / x-www-form-urlencoded; charset = utf-8' 所有API的头。 我已经尝试下面的代码。 我想为所有API设置应用程序/ json 。 var querystring = require('querystring'); var request = require('request'); var form = { "userType": req.body.type, "userName": req.body.mobile, "email": req.body.email, "name": req.body.name, "password": req.body.password }; var formData = querystring.stringify(form); var contentLength = formData.length; request.post({ headers: {'content-type':'application/json'}, url:'mylink', form: formData // I have tried form […]

browser.d.ts依赖Edge Web扩展API browser.runtime。* in typescript

对于使用typescript开发的chrome扩展,我们需要在typings文件夹中定义一个名为chrome.d.ts的文件,用于访问诸如chrome.runtime。*或chrome.tabs。*之类的networking扩展API。 对于边缘扩展,在打字稿中进行开发,我们需要在typings文件夹中定义一个名为browser.d.ts的定义文件,用于访问诸如browser.runtime的networking扩展API。 我们如何使用节点包pipe理器(npm)下载这个依赖关系。 我在我的background.ts文件中添加了一个对文件的引用,例如: /// reference path =“typings / browser / browser.d.ts”

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', […]