在NodeWebkit中使用lua.vm.js进行IO(输入输出)操作
2015-7-27 18:16:14
收藏:0
阅读:92
评论:1
我使用npm包lua.vm.js在基于node的应用程序中执行一些现有的lua代码
_newtest.lua_文件包含:
local myFile, err = io.open('/tmp/file.txt')
print(myFile)
print(err)
io.input(myFile)
theContent = io.read('*all')
print(theContent)
在我的javascript代码中:
var fs = require('fs');
theFileContent = fs.readFileSync("./newtest.lua", "utf8");
var LuaVM = require('lua.vm.js');
var l = new LuaVM.Lua.State();
l.execute(theFileContent);
如果我简单地执行:
lua newtest.lua
正如预期的那样,我得到了_output console_打印出'/tmp/file.txt'的内容。
但是,如果我从基于nw的应用程序运行相同的代码,我什么也看不到:输出控制台上没有任何东西,甚至全局变量theContent也没有设置正确的值。
myFile为nil且err为**/tmp/file.txt: No such file or directory**
但是文件就在那里。
我开始认为由lua.vm.js执行的lua代码不允许io操作了。 有什么想法?
更新 我尝试运行一个简单的node应用程序(从图片中删除nodewebkit)。 这是我正在运行的example.js
点赞
评论区的留言会收到邮件通知哦~
推荐文章
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
如我在https://github.com/kripken/lua.vm.js/issues/30中回答的:
lua.vm.js将IO虚拟化为内存虚拟文件系统(使用emscripten实现)。 这是因为它的主要目标是浏览器,而真实的IO在浏览器中是不存在的。
如果您在node中运行,则可以使用node文件函数:
local file = js.global:require"fs":open("/tmp/file.txt")