我正在尝试使用Typescript将Durandal与node.js服务器集成,以便在服务器端和客户端定义模块。我遇到的问题是,Durandal强烈依赖RequireJS和AMD定义模块的风格,我不想在服务器端引入,而且由于它使用RequireJS,我没有任何机会运行CommonJS客户端上的-ish模块(node.js的默认值)。棺材上的最后一个钉子是,我发现无法定义哪些文件应编译为AMD模块,哪些文件应由tsc编译为CommonJS-这似乎是一个最简单的解决方案。我不认为将客户端部分和服务器部分分开是一种选择,因为很多代码对于这两个部分都是通用的。所以,我的问题有三个:有没有办法在
为了将我的.ts源文件与.js输出分开,我试图在TypeScript中实现一个正式的文件观察器,似乎无法为单个文件指定输出路径存在。流程,为了清楚起见:我开始查看整个src目录,对src/views/HomeView.ts进行更改,然后我想让Node知道文件已被更改,并将编译后的版本移动到public/js/views/HomeView.js。使用tscmyfile.ts--outmyfile.js它遍历所有模块并在.ts文件存在的相同路径中编译每个模块,而不放置最终文件在正确指定的路径中。它确实创建了一个我希望它结束的空文件。我想知道:1)是否可以使用--out参数并only编译
我正在尝试编译这个typescript文件:importhttp=module("http");importexpress=module("express");使用这些参数:C:/nodejs/tsc.cmd--sourcemapcheese.ts--modulecommonjsC:/User/Node/ExpressProject/cheese.ts(5,21):errorTS1005:';'expected.C:/User/Node/ExpressProject/cheese.ts(6,24):errorTS1005:';'expected.我做错了什么?即使这样,我也会遇到同样的
我正在尝试找出将我的应用程序拆分为几个可供其他应用程序使用的CommonJS模块的最佳方法。我有5个TS类,我想将它们捆绑为一个CommonJS模块。然后我打算将此模块发布到私有(private)NPM存储库,以便其他应用程序可以使用它。理想情况下,我想将相关的*.d.ts定义文件打包。最好的方法是什么?我正在使用外部TS模块,但这些模块会为每个TS类生成一个单独的CommonJS模块。 最佳答案 据我所知,typescript还不支持组合外部模块。来自他们在codeplex上的wiki:TypeScripthasaone-to-o
我正在尝试在我的Node项目中使用TypeScript,但我遇到了一些问题。这是我的index.ts文件:importexpressfrom'express';constapp=express();我在运行:tsc--modulecommonsjs-dindex.ts我的输出是index.js:varexpress_1=require('express');varapp=express_1["default"]();这个["default"]是从哪里来的?它使我的代码无法正常运行:varapp=express_1["default"]();^TypeError:express_1.de
例如,我正在尝试导出一个TS对象以获取此JavaScript输出:constpath=require('path'),rootPath=path.normalize(__dirname+'/..'),env=process.env.NODE_ENV||'development';letconfig={development:{amqpUrl:"amqp://localhost:15672",root:rootPath},test:{amqpUrl:"amqp://localhost:5672",root:rootPath},production:{amqpUrl:"amqp://loc
我正在尝试使用服务器端渲染(SSR)和Typescript构建堆栈。一切似乎都很好,但我得到了错误:TypeError:Cannotreadproperty'render'ofundefined。这是完整的堆栈跟踪:TypeError:Cannotreadproperty'render'ofundefinedatnormalizeRender(/Users/shoun/Documents/repositories/vuejs-ssr-typescript/node_modules/vue-server-renderer/build.js:6621:19)atrender(/Users/
我正在使用TypeScript、Jest和ts-jestNPM模块编写一个项目。当我运行测试时,我确实得到了一些覆盖率,但HTML报告不太正确:此外,一些函数被标记为未经测试,即使它们确实被调用了。我的package.json设置如下:{"jest":{"transform":{".(ts|tsx)":"/node_modules/ts-jest/preprocessor.js"},"testRegex":"(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$","moduleFileExtensions":["ts","tsx","js"],"t
所以,对于另一个问题(你如何导入使用typescript的模块)的一般答案是:1)创建一个blah.d.ts定义文件。2)用途:///importfoo=require("foo");至关重要的是,您需要both文件foo.d.ts和foo.js在node_modules的某处加载;和NAMEfoo必须完全匹配两者。现在...我想回答的问题是您如何编写一个可以通过这种方式导入的typescript模块?假设我有一个这样的模块:-xq/-xq/defs/Q.d.ts-xq/index.ts-xq/base.ts-xq/thing.ts我想用base.ts中的类“Base”和thing.t
从我想做的Node应用程序中:vartypeScript=require('typescript');typeScript.compile('...')我希望将编译器实现到构建系统中,但如果无法访问公共(public)API(typescript.compile等),这是不可能的。这是我想做的更完整的示例,尽管下面是针对LiveScript,而不是TypeScript,在为Brunch.io构建系统编写的插件中使用:LiveScript=require'LiveScript'sysPath=require'path'module.exports=classLiveScriptCompi