lua中使用packagepath解決多個(gè)項(xiàng)目的路徑?jīng)_突問(wèn)題
當(dāng)多個(gè)lua項(xiàng)目在同一臺(tái)服務(wù)器中有多個(gè)文件的文件名相同時(shí),會(huì)優(yōu)先使用路徑中的排在前的項(xiàng)目的文件,導(dǎo)致引用的文件并不是你預(yù)期的那樣。
例如:有項(xiàng)目A和項(xiàng)目B,都有一個(gè)文件test.lua,而test.lua這個(gè)文件在項(xiàng)目A和項(xiàng)目B內(nèi)容都是不一樣的,如果nginx的配置中,lua的packagepath是把項(xiàng)目A放在了前面。那么項(xiàng)目B在引用test.lua的時(shí)候,會(huì)使用了項(xiàng)目B的test.lua文件,這就導(dǎo)致了錯(cuò)誤的出現(xiàn)。
那要如何解決這個(gè)問(wèn)題呢?
我們可以在各自的項(xiàng)目中,重新定義packagepath。這樣就避免了路徑?jīng)_突的問(wèn)題。
例子:
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)
相關(guān)文章
Lua教程(二):C++和Lua相互傳遞數(shù)據(jù)示例
這篇文章主要介紹了Lua教程(二):C++和Lua相互傳遞數(shù)據(jù)示例,本文主要講解了基本數(shù)據(jù)類(lèi)型的傳遞,比如整形(int)、字符串(string)、數(shù)字(number)及bool值,需要的朋友可以參考下2014-09-09
Lua游戲開(kāi)發(fā)教程之時(shí)區(qū)問(wèn)題詳解
時(shí)間顯示問(wèn)題說(shuō)白了就是時(shí)差問(wèn)題,這篇文章主要給大家介紹了關(guān)于Lua游戲開(kāi)發(fā)教程之時(shí)區(qū)問(wèn)題的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-09-09
Redis教程(五):Set數(shù)據(jù)類(lèi)型
這篇文章主要介紹了Redis教程(五):Set數(shù)據(jù)類(lèi)型,本文講解了Set數(shù)據(jù)類(lèi)型概述、相關(guān)命令、命令使用示例、應(yīng)用范圍等內(nèi)容,需要的朋友可以參考下2015-04-04

