问题标签 [grunt-ts]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
visual-studio-2013 - 停止 grunt-ts 编译引用
由于输出的灵活性,我最近从使用 Web Essentials 切换到 grunt-ts 来编译我的 typescript 文件。我切换的部分原因是我不希望单独编译所有文件,也不希望将所有文件编译成单个文件。我想要两者兼而有之。由于我最近开始使用 grunt 来完成很多任务,我想我也可以切换我的 TS 版本。
这是我的 gruntfile
在main.ts
文件中,我必须引用其中一个 typescript 文件,该文件在编译时构成controllers.js
文件的一部分。
所以我的main.js
文件有以下内容:
Gruntcontrollers.js
可以很好地编译我的文件:
但它在main.js
文件中编译相同的代码。
如果我从主文件中删除引用,它将无法构建,因为它找不到 ExampleController。如何保留对该文件的引用,但阻止它在main.js
文件中编译。
gruntjs - 仅在更改的文件上运行 grunt 任务
我有一个将打字稿文件转换为 javascript 的 grunt ts 任务。在 gunt serve 上,我正在编译我拥有的所有 .ts 文件。然后我想配置 grunt 来观看 .ts 文件,但只转换已更改的 .ts 文件。
在网上搜索后,我发现了以下选项:
Grunt ts 任务:
这是繁重的任务,然后我正在收听 watch 事件:
问题是任务运行,但我更新到 ts.all.sec 变量的文件与 grunt serve 上的文件相同,并且任务再次转换所有文件。
谢谢!
node.js - 从多个 TypeScript 类创建单个 CommonJS 模块
我正在尝试找出将我的应用程序拆分为几个可供其他应用程序使用的 CommonJS 模块的最佳方法。
我有 5 个 TS 类,我想将它们捆绑为一个 CommonJS 模块。然后我打算将此模块发布到私有 NPM 存储库,以便其他应用程序可以使用它。理想情况下,我想用它打包相关的 *.d.ts 定义文件。
最好的方法是什么?我正在使用外部 TS 模块,但这些模块会为每个 TS 类生成一个单独的 CommonJS 模块。
javascript - 带有requirejs的打字稿模块,扩展模块时未定义原型
我正在尝试为我的打字稿项目设置模块化结构。我想对其进行结构化,以便我可以将模块放在不同的文件夹中,并将属于该模块的每个类放在单独的文件中。我正在开发一个模块,该模块将用作我所有页面的视图模块。该模块有一个包含通用页面浏览功能的基本视图模型和一个与剔除结合使用以呈现我的页面的页面浏览模型。
我想要实现的结构如下所示:
BaseViewmodel 和 PageviewModel 都属于 ViewModule,但是是独立的文件。
我使用 init.ts 来初始化我的应用程序并使用 requirejs 注入依赖项:
如您所见,我正在尝试使用“app/ViewModule/PageViewModel”加载 pageviewmodel 模块。我面临的问题是 var viewModule 始终未定义,控制台返回以下错误:
未捕获的类型错误:无法读取 pageviewmodel.js 第 4 行上未定义的属性“原型”
编译后的 pageviewmodel(给出错误)如下所示:
我觉得我正在尝试做一些打字稿中不可能做的事情,但我不确定我错过了什么。我真的很想为我的模块类使用单独的文件,但我开始相信打字稿不允许这样做。
我正在使用 Grunt-ts 编译 ts 文件,并将模块选项设置为“amd”,但似乎没有任何效果。如果有人可以帮助我并告诉我我是否走在正确的道路上,那就太好了!
typescript - 只用 grunt-ts 编译改变的 typescript 文件
我想只用 grunt-ts 编译更改的打字稿文件(否则会非常慢),但似乎我不能。
- 我试图将它作为并发任务启动,但在这种情况下,我的普通手表似乎无法正常工作。
- 还尝试使用 watch ,但在这种情况下,它正在编译所有文件。
我成功的唯一方法是将 grunt-ts 作为一个单独的 grunt 进程启动。这样它实际上只是编译更改的文件,但我需要单独启动它
所以很明显我只想运行一个咕噜声。
有什么建议我可以如何完成吗?
更新:
奇怪的是,今天我改变了我的设置,它工作得很好。
我有完成的参考文件(在应用程序文件夹上方)和导航,而且我的文件编译速度也足够快。
不确定它是如何做到的,因为 compile 设置为 ts:dev 的 false (它只是为了维护我的参考文件)。
此外,我停止咕哝着尝试是否有其他东西在运行。但是js文件没有刷新,所以没有其他东西在编译它们。
奇怪,但它现在正在工作,因为我想要它。(不知道为什么 grunt-ts 正在编译文件,如果我默认设置为 false,但是......)
我的配置是:
...
我在 grunt 启动时启动 ts:initDev 并在文件更改时运行 ts:dev。
更新 2:
抱歉,似乎还有其他东西正在编译文件。我已将 tsc 设置为在编辑器设置中进行编译。没关系。
visual-studio - 找不到符号“组件”
我在 3 个单独的文件夹中有 3 个模块,每个(测试方式)都有一个文件:
- 组件/pagedList.ts
- 指令/testDirective.ts
- 实体1/实体1.ts
其中大约。看起来像这样
当我尝试将它们作为依赖项引用时,它适用于除 module 之外的所有内容App.Components
。Intellisense (Visual Studio) 以及我的打字稿 grunt任务都是unable to find symbol 'App.Components'
. 这是保留关键字还是什么?编辑:尝试重命名和重新定位,但仍然无法正常工作。
jquery - TypeScript 的最新版本的 jQuery 抛出语法错误?
我几乎 100% 确定我做错了什么,因为我对 TypeScript 非常陌生,并且一直在更新旧的代码库。
当我将 jQuery 更新到最新版本时,当我尝试使用 grunt 构建我的项目时出现以下错误。
/jquery/jquery.d.ts(279,40): 错误 TS1005: ',' 预期。
/jquery/jquery.d.ts(279,61): 错误 TS1005: '=' 预期。
/jquery/jquery.d.ts(279,64):错误 TS1003:需要标识符。
/jquery/jquery.d.ts(279,97): 错误 TS1005: ',' 预期。
/jquery/jquery.d.ts(279,118): 错误 TS1005: '=' 预期。
我缩短了路径,并没有给出每一行,但有很多。
我正在使用 grunt-ts 构建它,它似乎正在使用tsc v1.0.1
- 我不确定它将在哪里设置我只是在它尝试构建时通过输出。
angularjs - 我应该怎么做才能在 WebStorm 的 .ts 文件中解析“角度”
我想知道..我到底应该怎么做才能让 WebStrom(或 IntelliJ IDEA)解析我的“角度”变量。
我跟着这个人,但可能已经被弃用了。
在我的 vendor.d.ts 上:
我的包json:
我在那个屏幕截图上的问题('angular' 没有解决.. 不能去定义它,结果 - 'module' 的多个实现):
那么,我应该怎么做才能在 WebStorm 的 .ts 文件中解析“角度”?
更新: 我的项目中还没有 angularjs 源。但是它重定向我的选项之一是“node_modules/grunt-ts/tasks/inerfaces.d.ts”文件。即使我从项目中排除了“node_modules”文件夹。
gruntjs - 防止 grunt-ts 生成多个 .map 和 .js 文件
我们正在使用 Grunt 将我们的 typescript 文件编译并连接到位于我们的分发文件夹中的单个 javascript 文件中。该功能运行正常,但 Grunt 还会为它找到的每个 ts 文件创建 .map 和 .js 文件;在与 TS 文件相同的位置自动生成它们。
有没有办法防止 grunt 制作这些额外的文件而只生成 output.js 和 output.map?
这是我们 grunt.js 文件的一个片段。
typescript - 将引用的 TS 文件中发出的 JS 文件输出到单个文件夹中,不带子文件夹
我有一个带有参考的 TypeScript 文件;引用的文件又具有其他引用。当我运行 grunt-ts 任务时,会创建一个子文件夹层次结构,镜像引用层次结构,并将每个对应的 JS 文件写入一个scripts
子文件夹(显然来自outDir
选项的值)。如何配置任务,以便所有发出的 JS 文件最终都放在一个子文件夹中?
我的配置如下所示:
outDir
我尝试为具有相同结果的绝对路径指定。
如果我不指定outDir
,则引用的 TS 文件中的 JS 将在 TS 文件的位置发出,该位置可能位于项目文件夹之外。