Articles of 打字稿

如果我只在Node中使用TypeScript,我可以将TypeScript转换为ES6吗?

我正在编写一个运行在Node上的新App。 代码只能运行在一个节点服务器上,所以浏览器兼容性不是问题。 代码库是用TypeScript编写的。 在我的tsconfig.json我为编译器设置了以下选项: { "include": [ "src/**/*" ], "compilerOptions": { "target": "es6", "module": "commonjs", "sourceMap": true, "noEmitOnError": true, "noImplicitAny": true, "noImplicitReturns": true, "noImplicitThis": true } } 请注意 ,我的目标是ES6,但导出CommonJS模块! 由tsc(版本2.1.4)生成的代码在Node(版本6.9.1)上运行良好,据我testing它。 此外,咨询node.green显示大多数ES5和ES6function都在Node中实现。 可悲的是,我找不到任何关于Node应该使用哪个JavaScript版本的信息或官方build议。 据我所知,没有任何东西阻止我使用ES6。 我的问题 :我可以可靠地使用生成的ES6代码与节点?

如何查看从node.js发送到服务器的请求?

关于这个问题: 在nodejs / protractor中将cookies从一个请求传递到另一个请求 我有另一个。 我怎么能查看完整的请求(标​​题+正文),我正在通过nodejs执行?

VS.代码中的Node.js TypeScriptdebugging

有人可以提供一个VS Codeconfiguration的例子,可以让我: 启动Node.jsdebugging器 编辑任何TS文件,看到重新编译的项目和debugging器重新启动? 这是支持开箱吗? 可以使用nodemon吗? 谢谢。

在使用npm定义时,tsc如何得到它的定义

所以我从使用typings到使用npm 。 因此,您在@types中有@types目录,但除此之外,没有其他文件。 随着typings我总是不得不包括index.d.ts文件index.d.ts ,但使用npm这是没有必要的。 我想问一下为什么是这样。 npm是否使用了tsc某种隐藏function,或者微软和npm背后的人是否同意?

如何使用ThreeJS Collada loader与TypeScript / Angular CLI?

我有三个安装在: node_modules/three 我有Collada加载器安装在: node_modules/three-collada-loader types似乎已经包括Collada装载机的types: node_modules/@types/three/three-colladaLoader.d.ts 我导入三个这样的,它的工作原理: import * as THREE from 'three'; 问题是,当我试图使用Collada加载器时,我得到: WARNING in ./src/app/renderer.directive.ts 23:26-45 "export 'ColladaLoader' (imported as 'THREE') was not found in 'three' webpack: Compiled with warnings. 这是ng serve命令的输出。 我像这样实例化了加载器: private loader: THREE.ColladaLoader = new THREE.ColladaLoader(); 我应该如何使用/导入加载程序,因为它在types相同的三个命名空间,但它是一个不同的NPM模块? 编辑: 作为解决方法,我可以使用加载器,而不需要类似这样的代码: var loader = require('three-collada-loader')(THREE);

在VS代码中debugging电子催生的subprocess

我正在使用webpack创build打字稿中的电子应用程序,并且正在运行以下vscodedebugging问题: Info:主进程通过调用fork('./dist/child', [], {execArgv: ['–debug-brk=3001']})产生一个subprocess。 我的launch.json如下所示: { "name": "Debug child process", "type": "node", "request": "attach", "address": "localhost", "port": 3001 } 脚步: 我在terminal上启动我的电子应用程序 点击F5启动vscodedebugging器 正如所料,它在我的webpack构build的subprocess代码(由于debug-brk )的第一行打破了。 这允许我在打字稿源中用debugging器注册更多的断点。 正如所料,在继续之后,vscode很好地在我的源代码中击中了这些断点。 好。 问题:如果我现在重新启动debugging器(没有任何源更改或注册新的断点)… 构build中的初始断点没有命中 我手动添加的断点被标记为忽​​略( 断点被忽略,因为生成的代码没有find(源图问题?)。 ) 我在此处添加的任何新断点也被标记为忽​​略。 我意识到Attach的debugging和Launch的debugging是不同的,而debug-brk fork强制执行的初始中断需要给予一个机会来注册附加到的节点进程的断点。 问题:但是,我希望在我的debugging体验中改进的是,只需重新启动debugging器就不足以重新注册一些新的(或旧的)断点。 我必须完全退出我的应用程序,并重新启动它, 然后重新启动时的debugging器将再次停止在我的构build的第一行,并识别我在该阶段添加的断点。 有没有人可以推荐改善这种debugging体验的方法? 与启动debugging会话相比,我不介意一些额外的步骤,但是必须手动退出并启动我的应用程序才能进行debugging,这有点麻烦,而且实际上在控制台中进行debugging几乎更可取… 感谢您的任何build议!

类模块声明文件(TypeScript)

我使用一个节点模块,这是找不到的types,并不存在definelytyped。 模块的基本使用是: import * as SomeClass from 'some-module'; var someObject = new SomeClass("some string"); someObject.someMethod(); 正如你所看到的,这个模块导出一个类作为它的默认值。 我还没有想出如何编写它的声明文件。 这是我设法做的最好的: declare module 'some-module' { export default class SomeClass { constructor (someArg: string); someMethod(): void; } } 顺便说一句,它确实工作JavaScriptly。 只有TypeScript困扰我。 任何想法如何解决?

Angular2 http向其他端口上的nodejs服务器发送请求

我有一个在localhost:4200上运行的angular2应用程序,在localhost:3000上运行nodejs服务器。 我想用http.post将数据发布到服务器,但是在req.body或req.params的nodejs服务器中我得到了未定义的数据。 起初,我有从服务器呈现的angular2应用程序,这意味着我只有localhost:3000的nodejs,我根本没有任何问题,所以这不是sytax问题,但是当我想分开客户端和服务器,我不能'不发表任何要求。 GET请求的作品。 我有TodoService与服务器交互,并具有saveTodofunction。 newTodo是有效的,console.log提供了正确的信息。 我试过发布json和张贴与url-params和两个不工作:发布json: saveTodo(newTodo: any) { let headers = new Headers(); headers.append('Content-Type','application/json'); return this.http.post('/api/v1/todo', JSON.stringify(newTodo), {headers: headers}) .map(res => res.json()); } 发布url参数: saveTodo(newTodo: any) { let headers = new Headers(); headers.append('Content-Type','application/x-www-form-urlencoded'); let body = new URLSearchParams(); body.set('newTodo', newTodo); return this.http.post('/api/v1/todo', body, {headers: headers}) .map(res => res.json()); } 我从组件中调用这个函数: addTodo(event: any) { […]

将Typescript 2.3模块发布到NPM for Angular 4 Consumption

在Typescript中编写NPM模块有相关的说明,但是它的date和现在有很多不同的答案,可能会或可能不适用于angular4。 ,但在这种情况下,我只对发布香草打字稿感兴趣。

所有使用Angular 2(+)和Node / Express服务器的TypeScript项目设置

我正在寻找像这样的项目的最佳做法: 用TypeScript编写的Angular 2(4)客户端 Node / Express后端也用TypeScript编写 客户端和服务器代码使用的一些共享(TypeScript)模型。 客户端/服务器/共享应该分成3个节点项目吗? 或者是否有可能把所有东西都放在一个地方,用什么工具/configuration来实现呢?