小编rel*_*don的帖子

我们如何将消息主进程发送到 Electron 中的渲染器进程

我第一次玩电子。尝试创建一个文本编辑器

在渲染中,我正在发送一条消息以指示内容已更改并需要保存:

document.getElementById('content').onkeyup = e => {
  ipcRenderer.send('SAVE_NEEDED', {
    content: e.target.innerHTML,
    fileDir
  })
}
Run Code Online (Sandbox Code Playgroud)

然后ipcMain接收它没有问题。在菜单上我有这个:

{
  label: 'Save',
  click: _ => {
     saveFile(message)
     // trying:
     // ipcMain.send('SAVED', 'File Saved')
     },
     accelerator: 'cmd+S', // shortcut
}
Run Code Online (Sandbox Code Playgroud)

这样用户就知道文件已经有了。但这似乎不起作用。有没有其他方法可以做到这一点?我原以为“保存”将是一个预先创建的角色(有点)

javascript node.js electron

28
推荐指数
3
解决办法
2万
查看次数

如何在React中导入所有组件?

我想做这个

src/modules/layout/nav.js

...
export default NavBar;
Run Code Online (Sandbox Code Playgroud)

src/modules/layout/side.js

...
export default sideBar;
Run Code Online (Sandbox Code Playgroud)

src/modules/layout/index.js

import NavBar from './nav';
import sideBar from './side';
export { NavBar, sideBar };
Run Code Online (Sandbox Code Playgroud)

src/modules/index.js

import * from './layout';
Run Code Online (Sandbox Code Playgroud)

最后一点不起作用.根据教程,我可以去,src/App.js并使用navBar如下:

从'./modules'导入{navBar};

但事实是*不起作用我不能这样做.有什么选择,不必像这样

src/modules/index.js

import * as All from './layout';
export All;
Run Code Online (Sandbox Code Playgroud)

然后在App.js,走All.navBar.那感觉很难看

reactjs

8
推荐指数
2
解决办法
1万
查看次数

为什么我们在使用koa路由器时等待下一步呢?

我们为什么要做这个

router.get('/data', async (ctx, next) => {
  ctx.body = dummyjson.parse(data);
  await next();
});

router.get('/data/:x', async (ctx, next) => {
  const newData = dataRepeat.replace('%(x)', ctx.params.x);
  ctx.body = dummyjson.parse(newData);
  await next();
});
Run Code Online (Sandbox Code Playgroud)

有什么用? await next()

没有它,它会工作得很好.yield next在路由器的末尾添加了koa 1,预计会发生类似的事情.

koa koa-router koa2

7
推荐指数
1
解决办法
3182
查看次数

如何使用npm脚本使用自定义提交消息推送到github?

在我,package.json我有这个

  "scripts": {
    "start": "gulp serve",
    "git": "git add . && git commit -m 'some-message' && git push --all"
  },
Run Code Online (Sandbox Code Playgroud)

在我运行的终端npm run git中,推送更改.但是如何动态更改提交消息?例如npm run git MESSAGE='another commit'

git node.js npm npm-scripts

5
推荐指数
1
解决办法
1894
查看次数

如何在Electron中设置devTools窗口位置

我从文档中得到了这个

app.on('ready', function(){
    devtools = new BrowserWindow()
    window = new BrowserWindow({width:800, height:600})
    window.loadURL(path.join('file://', __dirname, 'static/index.html'))
    window.webContents.setDevToolsWebContents(devtools.webContents)
    window.webContents.openDevTools({mode: 'detach'})
})
Run Code Online (Sandbox Code Playgroud)

它打开两个窗口,一个是开发工具。但它就在主窗口的下面。

有没有办法让它们并排(屏幕足够大)?

electron

5
推荐指数
1
解决办法
1832
查看次数

如何将所有选定的文本包装到span元素中?

如何从一个元素中选择文本有很多问题得到解答。例如,从这个答案

function surroundSelection() {
    var span = document.createElement("span");
    span.style.fontWeight = "bold";
    span.style.color = "green";

    if (window.getSelection) {
        var sel = window.getSelection();
        if (sel.rangeCount) {
            var range = sel.getRangeAt(0).cloneRange();
            range.surroundContents(span);
            sel.removeAllRanges();
            sel.addRange(range);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但是我们如何对多个标签执行此操作呢?例如,如果这是标记

<p>Lorem ipsum dolor sit amet,</p>
<p>consectetur START HERE adipisicing elit.</p>
<p>Eaque et END HERE possimus at minima, illo?</p>
Run Code Online (Sandbox Code Playgroud)

如果用户选择第二段和第三段中的文本,如何将其包装在自己的单独 div 中

<p>Lorem ipsum dolor sit amet,</p>
<p>consectetur <span>adipisicing elit.</span></p>
<p><span>Eaque et</span> possimus at minima, illo?</p>
Run Code Online (Sandbox Code Playgroud)

我希望这个“破碎”的例子有帮助

javascript dom selection

5
推荐指数
1
解决办法
679
查看次数

JavaScript 中按字符串属性值对对象数组进行分组?

我讨厌这个对象数组,每个对象都有一个日期,我希望能够将这些对象分组为月份。有没有办法转换这个

var data  = [
  { date: "2016-08-13",...},
  { date: "2016-07-23",...},
  { date: "2016-08-11",...},
  { date: "2016-08-10",...},
  { date: "2016-07-20",...},
  { date: "2016-07-21",...},
]
Run Code Online (Sandbox Code Playgroud)

变成这样的东西

var data  = [
  [{ date: "2016-08-13",...},
  { date: "2016-08-11",...},
  { date: "2016-08-10",...}],
  [{ date: "2016-07-20",...},
  { date: "2016-07-21",...},
  { date: "2016-07-23",...}[
]
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6

4
推荐指数
1
解决办法
5775
查看次数

如何将渲染的html粘贴为sublime文本中的markdown?

我曾经使用过一个名为Ulysses的应用程序.这是一种写下降价的好方法.它有它的局限性所以我设法在崇高的文本中安装了几个软件包,并赋予它与Ulysses相同的功能.现在我找不到任何包来做以下事情.我会给出一个简短的场景,因为我不能解释它:

我正在读一篇博文.我选择了所有并点击了副本.在尤利西斯,我会按cmd+alt+v它会问我来自哪里,我会选择from HTML.最终结果是来自网络的相同内容,但格式为markdown.例如,如果博客帖子中有h2Ulysses 的副标题,则将其粘贴为## title

我尝试在Sublime Text中搜索类似的插件,我安装ClipboardCommandssuper-awesome-paste.我不记得他们做了什么,但也没有做我需要的.这样的插件存在吗?

markdown sublimetext sublime-text-plugin

2
推荐指数
1
解决办法
765
查看次数

如何在 Bulma 中获得固定的侧边栏?

我想要两列,一个左侧边栏和主要内容。

我希望侧边栏是固定的(并在需要时滚动)

  <div class="is-widescreen">
    <div class="columns">
      <aside id="main_sidebar" class="column">
        <h1>test</h1>
      </aside>  
      <div class="column is-four-fifths">
        <div id="editorjs" class="content">
          <!-- see the demo for the effect-->
        </div>
        <button id='save'>save article</button>    
      </div>
    </div>
  </div> 
Run Code Online (Sandbox Code Playgroud)

editorjs将包含的内容很多,所以我想要的侧边栏内容不被主部上滚动的影响。

演示

html css bulma

2
推荐指数
1
解决办法
4511
查看次数