node
模块具有一个名为compile
的方法,该方法可以编译代码并创建.lc文件。
我是否使用nodemcu-tool
之类的工具通过terminal
参数连接到开发板,并执行node.compile('myfile.lua')
命令来创建.lc
文件?
如果init.lua
在重置时被编译为init.lc
,那么董事会将执行编译后的代码吗?
答案 0 :(得分:1)
如何在ESP8266板上编译lua代码?
这取决于您使用的工具。我要使用的工作流程是:
nodemcu-uploader
picocom
node.compile()
nodemcu-uploader
不同的工具可能会略微改变所涉及的步骤,但总体思路仍将保持不变:
上传->编译(->下载)
如果在重置时将init.lua编译为init.lc,董事会将执行已编译的代码吗?
尝试;)
如果它不起作用,您总是可以只写一行init.lua
的{{1}};一旦启动并运行芯片,这并不会影响您的性能。
或者您可以将编译后的文件重命名为init.lua,它也应该可以工作。
但是请记住,如文档所述:
[...]编译需要占用大量RAM,因此您将发现需要破坏应用程序[...]
答案 1 :(得分:1)
如果
init.lua
在重置时被编译为init.lc
,那么董事会将执行编译后的代码吗?
是的,根据我们的常见问题解答
请注意,如果您使用
require("XXX")
来加载代码,那么它将自动搜索XXX.lc
然后是XXX.lua
,因此您不需要包括条件逻辑来加载字节码版本如果存在,则回落到源版本。
但是,还请注意,您的init.lua
会很小,实际的应用程序会拆分为动态加载的单独文件。
(如何)我是否使用
nodemcu-tool
之类的工具通过terminal
参数连接到开发板,并执行node.compile('myfile.lua')
命令来创建.lc
文件?
$ nodemcu-tool upload --port=/dev/ttyUSB0 myfile.lua --compile