如何理解Grunt任务选项(How to understand Grunt task options)
我的目标是在浏览器上运行ES6代码,经过大量阅读后,我发现这里输入链接描述
并能够运行ES2015代码。 但是我很难创建一个Gruntfile.js,我不明白哪些关键字可用以及它们的作用。 以browserify为例,它可以像这样配置
module.exports = function (grunt) { grunt.initConfig({ browserify: { dist: { options: { transform: [ ["babelify", { "presets":["es2015"] }] ] }, files: { "./dist/module.js": ["./modules/index.js"] } } }, }); grunt.loadNpmTasks("grunt-browserify"); grunt.registerTask("default", ["browserify"]); };
然后我去browserify网站阅读文档。 有
presets
,但没有transform
。 我怎么知道我应该嵌套dist> options> transform,并在其中有一个presets
? 我能够使用loose: "all"
? 同样的问题,当我试图理解咕噜声,为什么人们使用dist
,是否为cli(运行grunt --target = dist)?对不起,如果我听起来很愚蠢,很难理解几天的咕噜声。
My goal is to run ES6 code on browser, and after reading a lot, I found this enter link description here
and is able to run ES2015 code. But I am having a difficult time to create a Gruntfile.js, I don't understand what keywords are available and what they do. Take browserify for example, it could configurate like this
module.exports = function (grunt) { grunt.initConfig({ browserify: { dist: { options: { transform: [ ["babelify", { "presets":["es2015"] }] ] }, files: { "./dist/module.js": ["./modules/index.js"] } } }, }); grunt.loadNpmTasks("grunt-browserify"); grunt.registerTask("default", ["browserify"]); };
Then I go to browserify website to read documentation. There is
presets
, but notransform
. How do I know that I should nest dist>options>transform, and have apresets
in it? and do I able to useloose: "all"
? Same question when I try to understand grunt, why does people usedist
, is it for cli (run grunt --target=dist)?Sorry if I sound stupid, having hard time understanding grunt options for days.
原文:https://stackoverflow.com/questions/34153076
最满意答案
只需使用变量“isShooting”来防止你的控制器被击中。
void Controleur::Shot(int a, int b) { if (!this->isShooting) { this->isShooting = true; // do stuff } }
当你的动作完成后,只需将变量设置为false,然后你就可以再次射击。
编辑:没关系,我误解了你的问题
您可以使用
sf::Input::IsKeyDown
来查看计算事件时是否按下了您的键。另一种方法是使用此代码在
Shot()
结束后刷新事件队列// consumes all events in the queue while (window.pollEvent(event));
但我认为这不是一件好事。
Just use a variable "isShooting" to prevent your controler to shot.
void Controleur::Shot(int a, int b) { if (!this->isShooting) { this->isShooting = true; // do stuff } }
And when your actions are finished , just set the variable to false, then you can shoot again.
EDIT: nevermind, i misunderstood your problem
You could use
sf::Input::IsKeyDown
from sf::Input to see wether your key is pressed or not when computing events.Another way to do it is flushing your event queue after the end of
Shot()
with this code// consumes all events in the queue while (window.pollEvent(event));
But it is not a very good thing to do i think.
相关问答
更多-
if(characterCode == 13) { return false; // returning false will prevent the event from bubbling up. } else { return true; } 好的,所以想象你有一个表单中的以下文本框: 为了在按下回车键的同时从这个文本框运行一些“用户定义 ...
-
为了确保您的应用程序不应用每个Key_Down事件多次按键,定义一个初始化为false的布尔值。 将Key_Down事件中的所有内容放在If语句中仅在布尔值== false时触发,并在其块中立即设置Boolean = true,然后是您希望事件每个事件只执行一次的事情。 然后,在相应的Key_Up事件中设置Boolean = false,你应该是金色的。 我没有对此进行测试,但它应该可以工作,它可以将您的应用程序与任何客户端计算机进行比较,无论他们的设备上是否有按键设置。 To make sure your ...
-
使用jQuery的submit()函数捕获表单提交事件,并在其中返回false。 您可以通过提交表单的任何方式调用此函数(单击提交按钮或按Enter键)。 返回false将阻止浏览器完成表单sumbittion,它允许您使用它执行任何操作。 见例子: http : //jsfiddle.net/vgk4wu46/ Catch your form submit event with jQuery's submit() function and return false inside it. This func ...
-
按键清除文本框(Clear Textbox on key press)[2023-11-18]
只要该控件获得焦点,您就可以选择控件的整个文本内容。 然后您的按键将替换所选文本。 如果希望每个表单上的每个文本框都出现这种情况,可以将“行为输入字段”设置为“选择整个字段”。 (在Access 2007中,从Office按钮 - >访问选项 - >高级查找该设置,然后查看该对话框的编辑标题下。对于Access 2003,请参阅此页 。) 该设置不仅应用于表单控件,还应用于数据表视图中的表和查询。 如果这不是您想要的,您可以在表单的模块中使用VBA来选择仅特定控件的文本: Private Sub MyTex ... -
将SuppressKeyPress属性从KeyEventArgs设置为true,如下所示: private void TextBox1KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.T || e.KeyCode == Keys.M) { e.SuppressKeyPress = true; Button1Click(this, EventArgs.Empty); } } S ...
-
对于验证,可以在按键事件上使用模式属性(For Validation is it possible to use pattern attribute on key press Event)[2021-08-24]
您可以在每个keyup事件上测试输入值(在将字符添加到输入后触发,在之前触发keypress ...)。 或者如注释中所指出的,您可以使用在input值更改时触发的更适合的input事件。 $('document').ready(function() { $('.numberValid').on('input', function() { re = new RegExp(this.pattern); str = $(this).val(); $('labe ... -
这很大程度上取决于你想要什么。 你想发送密钥吗? 你的申请 另一个固定的应用 模拟全局按键 全局模拟密钥 所有这些都会导致针对特定应用程序和活动窗口更改的问题。 SendKeys发送消息到活动的应用程序。 这是一个高级函数,它采用一个字符串来编码一系列的键。 keybd_event是非常低的水平,并注入全局按键。 在大多数情况下, SendKeys更易于使用。 mouse_event模拟鼠标输入。 SendInput取代这些功能。 它更灵活,但使用起来有点难。 发送到特定的窗口 在使用固定目标窗口时,根据窗 ...
-
只需使用变量“isShooting”来防止你的控制器被击中。 void Controleur::Shot(int a, int b) { if (!this->isShooting) { this->isShooting = true; // do stuff } } 当你的动作完成后,只需将变量设置为false,然后你就可以再次射击。 编辑:没关系,我误解了你的问题 您可以使用sf::Input::IsKeyDown来查看计算事件时是否按下了您的键。 另一种方法是使用此代码在 ...
-
请尝试使用下面的代码片段。
Jayesh Goyani 如何使用Javascript单击Backspace键清除文本框?(How to clear a textbox on single press of Backspace key using Javascript?)[2022-04-18]
你从js函数返回true,它也执行它的keypress事件。 所以,尝试返回false。 您可以尝试以下代码: function allowBackSpace(val){ var keyCodeEntered = (event.which) ? event.which : (window.event.keyCode) ? window.event.keyCode : -1; if (keyCodeEntered == 8) { $(this).va ...相关文章
更多- Five More Hacker Tools Every CISO Should Understand
- Hadoop中的Speculative Task
- 如何对Hadoop作业的某个task进行debug单步跟踪
- Storm-源码分析-Topology Submit-Task
- 对Hadoop task进行profiling的几种方法整理
- Hadoop的task运行完成后清理local目录影响性能
- Hadoop的task运行完成后清理local目录影响性能
- Storm【技术文档】-Worker Executor Task的关系
- Hadoop编译WordCount程序:class file for org.apache.commons.cli.Options no
- 解决Hadoop抛出的Task process exit with nonzero status of 134异常
最新问答
更多- 您如何使用git diff文件,并将其应用于同一存储库的副本的本地分支?(How do you take a git diff file, and apply it to a local branch that is a copy of the same repository?)
- 将长浮点值剪切为2个小数点并复制到字符数组(Cut Long Float Value to 2 decimal points and copy to Character Array)
- OctoberCMS侧边栏不呈现(OctoberCMS Sidebar not rendering)
- 页面加载后对象是否有资格进行垃圾回收?(Are objects eligible for garbage collection after the page loads?)
- codeigniter中的语言不能按预期工作(language in codeigniter doesn' t work as expected)
- 在计算机拍照在哪里进入
- 使用cin.get()从c ++中的输入流中丢弃不需要的字符(Using cin.get() to discard unwanted characters from the input stream in c++)
- No for循环将在for循环中运行。(No for loop will run inside for loop. Testing for primes)
- 单页应用程序:页面重新加载(Single Page Application: page reload)
- 在循环中选择具有相似模式的列名称(Selecting Column Name With Similar Pattern in a Loop)
- System.StackOverflow错误(System.StackOverflow error)
- KnockoutJS未在嵌套模板上应用beforeRemove和afterAdd(KnockoutJS not applying beforeRemove and afterAdd on nested templates)
- 散列包括方法和/或嵌套属性(Hash include methods and/or nested attributes)
- android - 如何避免使用Samsung RFS文件系统延迟/冻结?(android - how to avoid lag/freezes with Samsung RFS filesystem?)
- TensorFlow:基于索引列表创建新张量(TensorFlow: Create a new tensor based on list of indices)
- 企业安全培训的各项内容
- 错误:RPC失败;(error: RPC failed; curl transfer closed with outstanding read data remaining)
- C#类名中允许哪些字符?(What characters are allowed in C# class name?)
- NumPy:将int64值存储在np.array中并使用dtype float64并将其转换回整数是否安全?(NumPy: Is it safe to store an int64 value in an np.array with dtype float64 and later convert it back to integer?)
- 注销后如何隐藏导航portlet?(How to hide navigation portlet after logout?)
- 将多个行和可变行移动到列(moving multiple and variable rows to columns)
- 提交表单时忽略基础href,而不使用Javascript(ignore base href when submitting form, without using Javascript)
- 对setOnInfoWindowClickListener的意图(Intent on setOnInfoWindowClickListener)
- Angular $资源不会改变方法(Angular $resource doesn't change method)
- 在Angular 5中不是一个函数(is not a function in Angular 5)
- 如何配置Composite C1以将.m和桌面作为同一站点提供服务(How to configure Composite C1 to serve .m and desktop as the same site)
- 不适用:悬停在悬停时:在元素之前[复制](Don't apply :hover when hovering on :before element [duplicate])
- 常见的python rpc和cli接口(Common python rpc and cli interface)
- Mysql DB单个字段匹配多个其他字段(Mysql DB single field matching to multiple other fields)
- 产品页面上的Magento Up出售对齐问题(Magento Up sell alignment issue on the products page)