我正在为我的桌面应用使用node-webkit
引擎。
这是我的文件结构:
app/
|- scripts/
|- librecraft.js
|- index.html
|- package.json
|- libre.js
<!DOCTYPE html>
<!-- .... -->
<script>var libre = require('./libre.js');</script>
<script src="scripts/librecraft.js"></script>
libre.doSomething();
exports.doSomething = function () { return 42 };
当我运行nw.exe
并从中app/index.html
打开node-webkit
时,./libre.js
找不到模块{{1}}。但是当我刷新(使用正确的刷新按钮)时,它神奇地起作用。为什么呢?
答案 0 :(得分:1)
如果您想知道为什么它在刷新页面时有效,您必须知道您的nodejs
文件在应用程序的整个生命周期内都会被加载一次。当应用程序启动时,将返回值(doSomething
)更改为其他内容,保存文件并刷新页面;你会注意到返回的值是旧值。
当您调用它时,似乎尚未加载node.js
文件。打开dev console
并查看错误消息(如果有)。
我建议您更新librecraft.js
,如下所示:
//librecraft.js
var libre = require('../libre.js');
var val = libre.doSomething(); //
console.log(val);
希望得到这个帮助。
答案 1 :(得分:1)