嗨,我对electron
陌生,请多多包涵。
我遇到这样的情况:
我将从li
一旦filename
我想用下面的代码编写它
var fs = require('fs');
fs.writeFile('gotfromjsvariable', 'Hello content!', function (err)
{ 如果(err)抛出err; console.log('Saved!'); });
假设gotfromjsvariable
来自下面的代码
问题是,如何将其传递给电子main.js或同一文件node.js
$(document).on('click','#files li',function(){
var gotfromjsvariable = $(this).data('filename');
// gotfromjsvariable has to be sent a filename to nodejs or electron
/*
var fs = require('fs');
fs.writeFile('gotfromjsvariable', 'Hello content!', function (err) {
if (err) throw err;
console.log('Saved!');
});
*/
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul id="files">
<li data-filename="abc.json">abc.json</li>
<li data-filename="pqr.json">pqr.json</li>
</ul>
答案 0 :(得分:0)
基本上,您是通过ipcRenderer
从Renderer进程向主进程发送消息(数据)的。
但是,由于Renderer进程也可以访问节点API,因此您的任务可以完全用html完成。您的固定代码如下所示:
<!DOCTYPE html>
<html>
<body>
<ul id="files">
<li data-filename="abc.json">abc.json</li>
<li data-filename="pqr.json">pqr.json</li>
</ul>
<script>
const fs = require('fs')
window.$ = window.jQuery = require('jquery')
$(document).on('click','#files', (e) => {
var gotfromjsvariable = $(e.target).data('filename')
fs.writeFile(gotfromjsvariable, 'Hello content!', (err) => {
if (err) throw err
console.log('saved')
})
})
</script>
</body>
</html>
对于jquery,我使用了这种方法:https://stackoverflow.com/a/32621989/2550156