Tag: 打字稿

为什么在打字稿中声明一个全局的`name`variables,我可以避免使用它吗?

一位朋友重构了一些代码,并将名为name的variables的定义从函数的顶级作用域移动到了then的正文中。 这个variables被用在随后的那个引起一个ReferenceError,因为name不在范围内。 我们无法理解代码如何通过编译,直到我们看到typescript / lib.d.ts具有以下减速: declare const name: never; 长话短说,我有两个问题。 为什么name (以及length和许多其他全局variables)默认添加到打字稿? 从周围的代码,这似乎意味着项目打算在浏览器中运行,我们是一个node.js项目。 我们可以select不加这些声明吗?

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”

尽pipe文件存在,但是没有find“模块”

我下载angular启动器 ,运行应用程序,运行良好。 现在,我在“src / app / services / people.service.ts”中添加了一个新的文件“people.service.ts”。 当我尝试导入它时,出现错误: 找不到模块:错误:无法parsing'/ path-to-project / angular-starter-master / src / app'中的'services / people.service' 这是我用来导入它的代码(在src / app / app.module.ts中): import {PeopleService} from 'services/people.service'; 我确信没有错别字,因为IDE可以识别它。 整个项目中没有任何TypeScript错误。 文件“services / people.service”包含一个名为PeopleService的类。 任何帮助将深受赞赏。 请让我知道,如果你需要任何额外的信息。

使用index.ts导出“默认”

我有以下的项目结构: build/ build.ts config/ config.ts index.ts … config.ts包含一个默认的导出types,如下所示: export default { myProp: { someProp: "someValue" } } 而config/的index.ts如下所示: export * from './config'; 现在我想要像这样在build.ts导入configurationtypes: import config from '../config'; 但是,当使用它(例如与config.myProp ),它告诉我, myProp不存在index.ts 。 根据这里的官方模块文档,这应该工作得很好。 我在这里错过了什么?

NPM如何启动一个Angular和Typescript应用程序?

是否有可能得到如何npm start工作的解释? 我有一个用Typescript写的Angular 2应用程序。 我在控制台中inputnpm start ,并使用Node内置的Web服务器编译和启动应用程序。 然而,这是什么起点? npm start命令读取哪些文件以编译和启动应用程序? 另外为什么我使用npm start而不是例如node start ? 我明白,NPM只是节点本身的包pipe理器。 到目前为止我所了解的是: 我有一个tsconfig.js文件告诉TypeScript编译器要做什么。 我有一个packages.json文件告诉节点下载哪些软件包。 下面的文件在哪里适合这个: main.ts app/app.module.ts – 我明白这是我的应用程序的起点。 所有这些组件如何组合在一起形成应用程序?

属性在函数的多个types的返回值上不存在

我正在使用打字稿来编写NodeJS程序。 在这个程序中,我导入一个名为ts-md5的节点模块,其中有一个函数hashStr() ,它可以返回一个string值或Int32Array 。 我需要在我的程序中做这样的事情: Md5.hashStr(str).toUpperCase(); 但是,编译器抱怨错误: error TS2339: Property 'toUpperCase' does not exist on type 'string | Int32Array'. 程序运行成功。 因为它在运行时总是返回string 。 但是我想知道是否有办法摆脱这个恼人的错误?

我将如何从离子存储返回我的对象​​

我正在进行项目更新,其中dashboard页面有3, 000行code 。 我想坚持以前的工作 所以我想转换这个function returnUserDetails(){ var userDetails = JSON.parse(localStorage.getItem("userData")); return userDetails ; } 到这一个,但给undefined返回值的error returnUserDetails(){ var userData; this.storage.get('userData').then((val) => { userData = JSON.parse(val); }); return userData; } 问题:我不能使用全局variables,因为这个函数使用了很多次。 我如何正确返回值

无法在nodejs中input打字稿文件

我想在一个Typescript文件中导入下划线模块,但是它的创build麻烦,因为当我在节点中运行typescript模块,它会引发一个错误: Code: import _ = require('underscore'); Error: import _ = require('underscore'); ^^^^^^ SyntaxError: Unexpected reserved word at Module._compile (module.js:439:25) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:380:17)

什么是使用Node.js和TypeScript的正确方法?

我刚刚开始使用TypeScript的Node.JS,第一件事就是编译错误(使用WebStorm)作为第一行: import http = require('http'); 我试图使用“VAR”,“模块”而不是“要求”,但我还是“无法find模块HTTP”或“不明白”要求“名称”。 一段时间后,我只能find一个解决scheme( @basarat )在stackoverflow,build议下载并添加项目一些node.d.ts文件 ,然后用它作为参考在顶部: /// <reference path="node.d.ts" /> import http = require('http'); 然而,这看起来不是很好,因为我期望微软的产品能够在不需要使用第三方黑客的情况下或多或less地工作。 另外,它看起来像我将需要添加这个参考文件,我将需要使用node.js模块的每个文件。 你怎么处理那件事呢?

如何访问模块内的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: […]