Nodejs相关:node-webkit 项目招收实习生
Nodejs相关:node-webkit 项目招收实习生
详情请见 https://groups.google.com/d/msg/node-webkit/CQS83CdrmUc/y-uHAkSVMx4J
长期有效
Nodejs相关:node-webkit 项目招收实习生
我们非常高兴地宣布,node-webkit(现更名为NW.js)项目正在寻找有才华的实习生加入我们的团队!这将是一个难得的机会,让你能够参与到一个功能强大且广泛使用的开源项目中来。无论你是刚刚接触Node.js的新手,还是有一定经验的开发者,只要你对前端技术充满热情,并愿意学习和贡献,我们都欢迎你的加入。
实习岗位描述:
- 职位名称:Node.js 开发实习生
- 工作地点:远程
- 实习期限:至少3个月
- 主要职责:
- 参与NW.js核心功能的开发与维护。
- 协助改进NW.js的文档和测试用例。
- 探索并实现新的特性,以提升用户体验。
- 与其他开发者合作,解决项目中的问题。
技能要求:
- 熟悉JavaScript及Node.js的基本语法和使用。
- 了解HTML、CSS等前端基础知识。
- 良好的英文读写能力。
- 具备良好的沟通能力和团队合作精神。
如何申请:
请访问以下链接了解详细信息,并按照指示提交申请:详情链接
示例代码:
为了帮助你更好地理解如何为NW.js项目贡献代码,这里提供了一个简单的示例。假设我们要创建一个新的API函数,该函数能够在打开一个新窗口时自动调整其大小。
// 假设这是你的nw.js插件代码
const { gui } = require('nw.gui');
function openWindow(url, width, height) {
var win = new gui.Window.open(
url,
{
width: width,
height: height
}
);
// 在窗口加载完成后调整其大小
win.on('loaded', function () {
this.resizeTo(width, height);
});
}
// 使用示例
openWindow('https://www.example.com', 800, 600);
在这个例子中,我们定义了一个openWindow
函数,它接受URL、宽度和高度作为参数。当用户调用此函数时,会创建一个新的窗口,并在窗口加载完成后自动调整其大小到指定的宽度和高度。
我们期待着有志之士的加入,一起为NW.js项目做出贡献!
希望上述内容对你有所帮助!如果你有任何疑问或需要进一步的信息,请随时联系我们。
node-webkit 现在能打包成一个exe运行了么? 大概体积多大?
我们还没提供编译好的二进制文件。不过你说的是可以的。体积我估计在几十MB
牛人
很好很强大…
有原生 x64 了吗? 我的 node.exe 是 x64 的。
linux有64bit的,其他的在64bit下也可以跑。
另外node-webkit包含一个node.js, 不需要另外的node.exe
我用过了,最后打包后的文件 要60多MB。不知道可否压的再小些?如果能到30MB左右最好了。。强烈关注你的这个项目,我尝试写了些东西感觉很棒。。
强烈要求加入,我很需要这个项目! Mail:kvxv#sina.com
Node-Webkit 很棒!正是我需要的。感觉一个新的时代就要到来了…… 加油!
这个项目是国人主持的么?
看好这个项目。安装不是很简单。
node-webkit 名字有点误导。 npm install node-webkit //not found
最初这个项目设计成可以通过 npm 安装,后来我们改变了架构。
怎样加入?初学者可以吗?
强烈建议项目改名!看名字完全不明白。 DesktopJs?随便了…只要不是这个
用inno setup打包后 安装文件不到20M了
up
solid C/C++ background 说不上
some Javascript knowledge
Linux development environment
这两个都还行
很感兴趣这个项目,想要加入
地点要是北京就好了。
北京也可以
Nodejs相关:node-webkit 项目招收实习生
我们正在寻找对Node.js和Web技术充满热情的实习生加入我们的node-webkit
项目团队。node-webkit
(现称为Electron)是一个用于构建跨平台桌面应用程序的强大框架。
实习内容:
- 参与项目开发:帮助改进现有功能、修复bug,并与社区保持良好互动。
- 文档编写:撰写和更新项目文档,帮助其他开发者更好地使用该框架。
- 学习与成长:通过实际项目经验,提升你的Node.js和前端开发技能。
我们希望你具备:
- 熟悉JavaScript及其生态系统。
- 对Node.js有一定的了解。
- 有Web应用开发经验者优先。
- 良好的沟通能力和团队合作精神。
示例任务:
假设我们需要实现一个功能,允许用户通过拖放文件到界面上来加载文件。我们可以使用node-webkit
的API来完成这个任务。
示例代码:
const fs = require('fs');
const path = require('path');
// 创建一个简单的HTML界面,允许用户拖放文件
const htmlContent = `
<!DOCTYPE html>
<html>
<head>
<style>
#drop-area {
width: 50vw;
height: 50vh;
border: 2px dashed #ccc;
margin: 100px auto;
text-align: center;
padding-top: 50px;
background-color: #f0f0f0;
}
</style>
</head>
<body>
<div id="drop-area">
Drop your files here
<input type="file" id="fileElem" multiple style="display:none" />
</div>
<script>
const dropArea = document.getElementById("drop-area");
["dragenter", "dragover", "dragleave", "drop"].forEach(eventName => {
dropArea.addEventListener(eventName, preventDefaults, false);
});
function preventDefaults (e) {
e.preventDefault();
e.stopPropagation();
}
function handleDrop(e) {
let dt = e.dataTransfer;
let files = dt.files;
handleFiles(files);
}
dropArea.addEventListener("drop", handleDrop, false);
function handleFiles(files) {
Array.from(files).forEach(file => {
let reader = new FileReader();
reader.readAsText(file, "UTF-8");
reader.onload = function (evt) {
console.log(`Loaded file ${file.name}:`);
console.log(evt.target.result);
};
reader.onerror = function (evt) {
console.error(`Failed to read file ${file.name}`);
};
});
}
</script>
</body>
</html>
`;
// 将HTML写入文件
fs.writeFileSync(path.join(__dirname, 'index.html'), htmlContent);
上述代码创建了一个简单的HTML界面,允许用户通过拖放文件到界面上来加载文件。同时,它也演示了如何使用FileReader
读取文件内容,并将其打印到控制台。
如何申请:
请发送您的简历至 [your-email@example.com],并在邮件中附上您最近的项目或作品链接。我们期待着您的加入!
这个示例任务展示了如何使用node-webkit
处理文件拖放事件以及读取文件内容。希望这些信息能帮助你理解项目的实际工作内容。如果你有任何问题,欢迎随时联系我们!