我知道这git cherry-pick是一个用于应用指定提交更改的命令,但我认为我并不真正理解它的工作方式.
让我们说一个像这样的回购行为:
git init
echo a>a
git add .; git commit -am 'master add line a'
git checkout -b dev
echo b>>a
git commit -am 'dev add line b'
echo c>>a
git commit -am 'dev add line c'
git checkout master
git cherry-pick dev
Run Code Online (Sandbox Code Playgroud)
我认为cherry-pick命令会运行良好并将文件更改a为:
a
c
Run Code Online (Sandbox Code Playgroud)
但实际上我得到了以下信息:
error: could not apply 08e8d3e... dev add line c
hint: after resolving the conflicts, mark the corrected paths
hint: with 'git add <paths>' or 'git …Run Code Online (Sandbox Code Playgroud) 我使用 webpack v4.16.2 作为我的捆绑工具,并设置devtool为'source-map'. 我正在尝试通过 Chrome 源选项卡调试源文件。但是,当我单击源文件躺下webpack://目录时,出现错误:
我没有使用webpack-dev-server,只是将源文件构建到文件dist/夹中,然后通过 Nginx 加载页面。
这个错误是什么意思?我很确定源映射文件已生成。我怎样才能解决这个问题?
提前致谢。
这是我的测试代码的片段:
cy.get('div[data-component-data-id=301602] h2:first')
.should(($el) => {
expect($el).to.have.text('dress')
})
Run Code Online (Sandbox Code Playgroud)
cypress 抱怨这个断言:
CypressError: Timed out retrying: You attempted to make a chai-jQuery assertion on an object that is neither a DOM object or a jQuery object.
The chai-jQuery assertion you used was:
> text
The invalid subject you asserted on was:
> Object{3}
To use chai-jQuery assertions your subject must be valid.
This can sometimes happen if a previous assertion changed the subject.
Run Code Online (Sandbox Code Playgroud)
所以我必须更改expect($el).to.have.text('dress')为expect($el[0]).to.have.text('dress'),然后投诉被驳回并通过了测试。
我调试了一下断言,结果$el[0]也是一个 jquery …
我对postMessage和感到困惑MessageChannel。
这是MDN的一些代码:
var channel = new MessageChannel();
var para = document.querySelector('p');
var ifr = document.querySelector('iframe');
var otherWindow = ifr.contentWindow;
ifr.addEventListener("load", iframeLoaded, false);
function iframeLoaded() {
otherWindow.postMessage('Hello from the main page!', '*', [channel.port2]);
}
channel.port1.onmessage = handleMessage;
function handleMessage(e) {
para.innerHTML = e.data;
}
Run Code Online (Sandbox Code Playgroud)
我认为postMessagemethod只能接受两个参数,上面的代码显示它可以接受三个参数,但是method 的第三个参数没有任何意义postMessage。
所以有我的问题:
postMessage方法的第三个参数是什么意思?
我知道的用法MessageChannel,但似乎毫无用处,为什么/何时应该使用MessageChannel?
chai ×1
cherry-pick ×1
cypress ×1
git ×1
javascript ×1
jquery ×1
postmessage ×1
source-maps ×1
webpack ×1