草庐IT

grunt-ts

全部标签

javascript - 具有非核心检测的自定义 grunt-modernizr

自从我发现yeoman的那天起,我将它用于我所有的前端项目。它包括grunt-modernizr-至少我认为-下载库并在我调用构建任务时即时编译它gruntbuild但我有一个小问题:默认情况下,它不包括我们可以在这里在线看到的“非核心检测”:modernizrcustombuilder这是我的grunt-modernizr任务配置(Gruntfile.js文件的一部分):modernizr:{devFile:'/components/modernizr/modernizr.js',outputFile:'/components/modernizr/modernizr.js',extr

javascript - 使用 TypeScript lib.core.d.ts 而不是 lib.d.ts

似乎TypeScript编译器总是包含lib.d.ts或lib.es6.d.ts(取决于编译器目标)。在我们的应用程序中,我们有一个已在lib.d.ts中定义的WebSocket类。我们在Node.js下而不是在网络浏览器中运行我们的应用程序,因此我们实际上不需要lib.d.ts中的所有定义。相反lib.core.d.ts对我们来说就足够了(当然会解决WebSocket冲突)。是否可以告诉TypeScript编译器使用哪个全局类型定义文件? 最佳答案 使用--noLibcompileroption排除lib.d.ts,然后在源文件中

javascript - TypeScript 接口(interface)是否应该在 *.d.ts 文件中定义

TypeScript新手问题。在我们的项目中,我们使用了一些外部JavaScript库,我们需要在其中添加*.d.ts文件。我理解这个用例以及我们需要这样做的原因。但是,对于我们自己定义的接口(interface),我的一位开发人员建议我们在*.d.ts文件中定义它们,这样我们就可以访问接口(interface)类型,而无需将其导入到需要使用的模块中例如,我们想为“错误优先回调”函数创建一个接口(interface),以便我们可以在许多领域重用它。所以不是这个...exportfunctionhelloWorldEventually(callback:(err:Error,result

javascript - 有条件地阻止方法执行的 JS TS 装饰器

我想编写一个方法装饰器,有条件地阻止执行该方法或用其他过程替换该方法。特别是我希望根据在客户端或服务器上调用时的不同行为:functionserverMethod(target){if(Meteor.isClient){//callservermethodtodeleteauser//preventexecutionofdecoratedmethod}}classUser{@serverMethoddelete(){UserCollection.delete(this.id)}} 最佳答案 1。概念概述ES2016方法装饰器是具有3

javascript - Bower 和 grunt 是全局还是本地?

我们有nvm不全局安装任何东西,因为我们可能同时处理许多不同的项目,这些项目需要相同库的不同版本。但是bower和grunt呢?在Internet的任何地方我都看到npminstall-gbower我知道grunt前段时间分为grunt和grunt-cli应该使全局包更稳定。但是bower呢?使用此类包的最佳实践是什么?如何避免潜在的版本冲突?或者也许我夸大了这个问题,我应该简单地使用-g选项? 最佳答案 剧透-全局。Bower和grunt是开发工具-Bower在每个前端开发过程中都会用到,因此将其用作本地包是错误的。Grunt拆分

javascript - Grunt Uglify - 如何创建用于调试的源映射?

我在一个项目中使用grunt并创建了任务来缩小和连接许多.js文件。我现在正在尝试弄清楚如何使用Uglify从它们创建源映射,以便其他团队可以轻松地分析控制台中的代码。我的Gruntfile的一部分(在咖啡中)看起来像这两个:uglify:options:mangle:false/grunt.registerTask'devmin',['clean','concurrent:transform','useminPrepare','concat','uglify','usemin','copy:build','server','watch:dist']#Dev-minifiesfiles

javascript - 将现有的 JavaScript 项目导入 Grunt/Brunch 项目

我观看了PaulIrish宣布Yeoman(www.yeoman.io)的演讲,并且我对运行连续构建环境的概念非常着迷。不满足于等待Yeoman邀请,我尝试了Grunt和Brunch。两者都可以轻松安装,而且我可以轻松启动并运行新项目。我不明白如何将现有项目迁移到任一平台。我的项目使用单个命名空间并为模块使用两个约定(一个用于实例化另一个用于实用程序),每个约定都包含在导出到实例或命名空间的自执行匿名函数中。我至少有200个模块和更多简单的辅助函数导出到命名空间;因此,使用控制台在grunt/brunch项目中创建这些,然后单独手动导入每个模块,效率并不高。此外,我使用了至少15种不同

javascript - 我如何动态生成文件名列表以用于 Grunt 任务?

我正在使用load-grunt-config和grunt-prompt,我正在开发一个init任务,它在两个文件夹之间复制一些php模板。现在模板文件名是硬编码的,但我宁愿让grunt扫描正确的文件夹并动态提供文件名。我试过使用grunt.file.expand,但我无法让它工作。是否可以扫描一个文件夹并以grunt-prompt期望的格式返回一个文件名数组(或对象,不确定你会怎么调用它)?//-------------------------------------//Gruntprompt//-------------------------------------module.e

javascript - 我可以在 Grunt 中运行两次 'min' 任务吗?

有没有办法在Grunt中使用不同的配置运行两次任务?假设我的项目中有两组源文件,我想将它们缩小为两个单独的缩小输出文件。像这样:projectsrcAfileA1.jsfileA2.jssrcBfileB1.jsfileB2.js正如预期的结果,我希望看到fileA.min.js和fileB.min.js。我怎样才能做到这一点,因为min似乎只支持一组src和dest属性?min:{dist:{src:['srcA/*.js'],dest:'fileA.min.js'}} 最佳答案 当然在配置对象中你应该配置两个最小任务min:{a

javascript - 使用 PHPStorm 在 TypeScript 项目中包含一个 *.d.ts 文件(和相应的 JS)

我想深入研究TypeScript(因为对我来说它看起来很有前途),因此我想重写一个我自己的小JS项目。所以我开始创建一些类(每个类在一个单独的文件中),但我对那些*.d.ts文件有点困惑。我该如何与他们合作?我需要在.ts文件中引用它们吗?因为PHPStorm似乎无论如何都会索引*.d.ts文件。我正在使用grunt-ts(https://github.com/grunt-ts/grunt-ts)将项目编译成JavaScript,看来这个项目需要引用文件。但是当我在第一行中这样引用它时:///编译器说:....Model.ts(37,20):errorTS1084:Invalidref