当前位置: 移动技术网 > IT编程>脚本编程>Lua > lua中使用packagepath解决多个项目的路径冲突问题

lua中使用packagepath解决多个项目的路径冲突问题

2017年12月08日  | 移动技术网IT编程  | 我要评论
当多个lua项目在同一台服务器中有多个文件的文件名相同时,会优先使用路径中的排在前的项目的文件,导致引用的文件并不是你预期的那样。 例如:有项目a和项目b,都有一个文件t

当多个lua项目在同一台服务器中有多个文件的文件名相同时,会优先使用路径中的排在前的项目的文件,导致引用的文件并不是你预期的那样。

例如:有项目a和项目b,都有一个文件test.lua,而test.lua这个文件在项目a和项目b内容都是不一样的,如果nginx的配置中,lua的packagepath是把项目a放在了前面。那么项目b在引用test.lua的时候,会使用了项目b的test.lua文件,这就导致了错误的出现。

那要如何解决这个问题呢?

我们可以在各自的项目中,重新定义packagepath。这样就避免了路径冲突的问题。

例子:

复制代码 代码如下:

local p = "/diska/htdocs/work/"
local m_package_path = package.path
package.path = string.format("%s?.lua;%s?/init.lua;%s", p, p, m_package_path)

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网