文档章节

OpenResty如何在一个lua文件调用另一个lua文件的函数

七木网络科技
 七木网络科技
发布于 2015/08/15 21:10
字数 195
阅读 3150
收藏 2

    在项目中经常会遇到很多重复代码,比如连接数据库,所以都会将这些代码写在一个lua文件中,供别的lua文件调用。但是该怎么做呢?

    现有a.lua和b.lua,a.lua需要调用b.lua的test()函数。关键写法是在b.lua中:

local _M = {}
function _M.test()
    ngx.say("hello test!")
end
return _M

 需要一个_M表来将所有需要的函数装起来,然后在a.lua中这样调用:

local test = require("b")
if not test then
    ngx.say("Failed to require b!")
    return
end 
test:test()

这个方法也是参考/usr/local/openresty/lualib/resty下的lua文件的写法,里面有很多值得参考的东西,想深入了解的可以去看看。

 

© 著作权归作者所有

上一篇: 创业的第二十天
下一篇: 创业的第十九天
七木网络科技
粉丝 293
博文 323
码字总数 126061
作品 0
深圳
程序员
私信 提问
加载中

评论(2)

七木网络科技
七木网络科技 博主

引用来自“HelloBug”的评论

13录了个视频教你如何调试OpenResty中的Lua! http://pan.baidu.com/s/1c0JvbHY

3非常好。
HelloBug
HelloBug
13录了个视频教你如何调试OpenResty中的Lua! http://pan.baidu.com/s/1c0JvbHY
OpenResty 最佳实践 (1)

此文已由作者汤晓静授权网易云社区发布。 欢迎访问网易云社区,了解更多网易技术产品运营经验。 OpenResty 发展起源 OpenResty(也称为 ngx_openresty)是一个全功能的 Web 应用服务器。它打包...

网易云
2018/10/31
0
0
Openresty中使用LuaJit

今天在使用Openresty的时候,遇到了一个问题: local resty_sha1 = require "resty.sha1" 想使用resy.sha1的时候,出现了error,log如下: 2013/09/25 09:00:40 [error] 19620#0: *3 lua en......

timingbob
2013/09/25
2.5K
0
openresty+lua灰度发布的简单实验

如题,本文是笔者使用openresty 和lua脚本实现的简单灰度发布系统,记录下来。 一、安装 参考openresty 官方网站安装openresty即可 建议参考文章https://www.cnblogs.com/zdz8207/p/Nginx-L...

月黑风高杀人夜
2018/08/27
696
0
OpenResty 社区王院生:lua-resty-r3 高性能 OpenResty 路由实现

大家下午好!首先做下自我介绍,我于 2014 年加入奇虎 360,后与温铭结识,当时他正在基于 OpenResty 做天擎服务端,用于提供 API 服务。2015 年我们一起写了《 OpenResty 最佳实践 》,原因...

又拍云
05/23
0
0
OpenResty简介、编译安装

OpenResty,也被称为“ngxopenresty”,是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方的Nginx模块和大部分系统依赖包,用于方便地搭建能够处理超高并发...

justin_peng
2018/07/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

skywalking(容器部署)

skywalking(容器部署) 标签(空格分隔): APM [toc] 1. Elasticsearch SkywalkingElasticsearch 5.X(部分功能报错、拓扑图不显示) Skywalking需要Elasticsearch 6.X docker network create......

JUKE
6分钟前
1
0
解决Unable to find a single main class from the following candidates [xxx,xxx]

一、问题描述 1.1 开发环境配置 pom.xml <plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><!--一定要对上springboot版本号,因......

TeddyIH
7分钟前
0
0
Dubbo服务限制大数据传输抛Data length too large: 13055248, max payload: 8388608解决方案

当dubbo服务提供者向消费层传输大数据容量数据时,会受到Dubbo的限制,报类似如下异常: 2019-08-23 11:04:31.711 [ DubboServerHandler-XX.XX.XX.XXX:20880-thread-87] - [ ERROR ] [com.al...

huangkejie
10分钟前
0
0
HashMap和ConcurrentHashMap的区别

为了线程安全,ConcurrentHashMap 引入了一个 “分段锁” 的概念。具体可以理解把一个大的 map 拆分成 N 个小的 Map 。最后再根据 key.hashcode( )来决定放到哪一个 hashmap 中去。 hashmap ...

Garphy
11分钟前
0
0
购买SSL证书需要注意哪些问题

为了保障网站的基本安全,为网站部署SSL证书,已经是一种常态了。各大浏览器对于安装了SSL证书的网站会更友好,并且不会发出“不安全”的提示。部署SSL证书之前首先得去给网站购买一个SSL证书...

安信证书
40分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部