我有点不了解如何编写复杂的Gruntfile.js并将其与测试一起使用.我是否以正确的方式使用Grunt?我想请社区寻求帮助,并以其他方式做出贡献.
我正在为Grunt 写一个新任务,并希望在Github和npm上为广大观众推出它.我想为这项任务进行自动化测试(我想学习如何正确地完成它!).
我想测试不同的选项组合(现在大约15个).所以,我应该多次:
一些非工作代码,以便更好地理解:
Gruntfile:
grunt.initConfig({
test_my_task: {
testBasic: {
options: {
//first set
}
},
testIgnore: {
options: {
//another set
}
},
//...
}
clean: {
tests: ['tmp'] // mmm... clean test directory
},
// mmm... unit tests.
nodeunit: {
tests: ['test/*.js'] //tests code is in 'tests/' dir
}
});
grunt.registerTask('test', ['test_my_task']);
Run Code Online (Sandbox Code Playgroud)
我知道如何tmp/在options给定对象时检查文件夹是否处于所需状态.
问题在于把事情放在一起.
我会问模板代码作为答案,npo需要放置工作示例.
PS:你可以提出另一个测试工具,nodeunit不是必须的.
PPS:垃圾,我现在可以用普通的javascript写这个!也许我错了,我想把Grunt放进单元测试中?但我想测试我的任务在真实环境中如何工作,从Grunt传递不同的选项......
我和我的朋友喝啤酒.
来自维基百科:
在所有表单提交和副作用URL中要求使用特定于用户的秘密令牌可防止CSRF; 攻击者的网站无法在其提交的内容中加入正确的令牌
atacker可以间接使用浏览器cookie,但他不能直接使用它们!这就是为什么他不能使用cookie将cookie放入链接document.write()
让我们看一下如何生成注销链接.这是安全的方式吗?这个GET请求可以伪造吗?
function logout(){
echo '<a href="?action=logout&sid='.htmlspecialchars($_COOKIE['sid']).'>Logout</a>';
}
Run Code Online (Sandbox Code Playgroud)
sid是为每个会话生成的会话ID
在服务器端,执行以下检查:
$_GET['sid']==$_COOKIE['sid']
Run Code Online (Sandbox Code Playgroud) 首先,我查看了html5rocks.com的来源.看起来像受信任的网站 他们在那里关闭标签.
<link rel="shortcut icon" href="/favicon.ico" />
Run Code Online (Sandbox Code Playgroud)
然后我看了HTML5demos,但他们没有
<link rel="stylesheet" href="css/html5demos.css">
Run Code Online (Sandbox Code Playgroud) 我正在尝试在Chrome for iPad上调试错误.我怎样才能做到这一点?
附加信息:
我知道如何调试适用于iOS的Safari.我现在还没有Mac.
我是否需要MacOS X上的Safari来远程调试Chrome for iOS?
桌面Chrome是否允许任何内容?
Chrome for iOS只是一个webview应用程序吗?
我总是很难将这一点记在脑子里,而且我无法快速用谷歌搜索出来。这就是为什么我把这个问题放在这里。
每次我调用concat,sort或 之类的方法slice时,我都会问自己:它是创建并返回一个新数组,还是只是修改并返回它所应用到的数组?
问:您能否列出更改原始数组的方法与构造并返回新数组的方法?
游戏中类似pop或push没有的方法,它们的作用很明显。
让我们考虑mousemove整个HTML文档的捕获问题.
我知道可以附加事件监听器的四个对象:
window,document,document.body,document.documentElement
经过简单的测试,在我看来,附加到它们中的任何一个都具有相同的效果.
$(window).on('mousemove', function(){console.log(1)})
Run Code Online (Sandbox Code Playgroud)
我想知道是否有任何我不知道的差异(性能,兼容性?)
我正在使用无服务器和无服务器 webpack。webpack配置非常简单:
const path = require('path');
const nodeExternals = require('webpack-node-externals');
module.exports = {
entry: {
lambda: './lambda.js',
},
output: {
libraryTarget: 'commonjs',
path: path.join(__dirname, '.webpack'),
filename: '[name].js',
},
target: 'node',
externals: [nodeExternals()],
module: {
rules: [{
test: /\.js$/,
loader: 'babel-loader',
include: __dirname,
exclude: /node_modules/,
}, {
test: /\.json$/,
loader: 'json-loader',
}],
},
stats: "verbose",
};
Run Code Online (Sandbox Code Playgroud)
无服务器.yml:
plugins:
- serverless-webpack
- serverless-secrets-plugin
- serverless-plugin-split-stacks
- serverless-offline
custom:
webpack:
webpackConfig: ./webpack.config.js
stage: ${opt:stage, self:provider.stage}
provider:
name: aws
runtime: nodejs8.10
functions: …Run Code Online (Sandbox Code Playgroud) 我发现在手动断开连接时套接字io服务器端没有完全销毁套接字.我在github上发现这个主题很有用.虽然我正在寻找一些阻止GC清理套接字的变量链接,但我在这里问一个问题.
如果这里有人遇到同样的问题,这将有很大帮助.
代码不起作用:
socket.on('disconnect', function(){
socket.removeAllListeners();
});
///...................
socket.disconnect();
Run Code Online (Sandbox Code Playgroud)
但是,解决方法是使用受限制的库字段:
delete io.sockets[url];
io.j = [];
Run Code Online (Sandbox Code Playgroud) 在node.js中比较两个JSON格式的对象数据的最有效方法是什么?
这些对象不包含"undefined"或函数,它们的原型是Object.
我听说如果在node.js中有JSON,那么有很好的支持
我想获得容器内的文本大小.让我们考虑一下容器有填充和边框的一般情况.
问题是getBoundingClientRect返回文本PLUS左边框和填充的大小,以防文本溢出.否则它只返回容器边框的大小.

javascript ×6
node.js ×4
dom ×2
html ×2
css ×1
gruntjs ×1
html5 ×1
ios ×1
jquery ×1
json ×1
macos ×1
memory-leaks ×1
mouseevent ×1
nodeunit ×1
safari ×1
security ×1
serverless ×1
socket.io ×1
unit-testing ×1
webpack ×1
webview ×1
xss ×1