Lua模組引入import 和require的區別

2021-10-05 09:35:01 字數 1108 閱讀 8370

lua 中引入乙個模組,可以採用兩種方式:importrequire方式,具體的區別在於:

import()require()功能相同,但具有一定程度的自動化特性。

假設我們有如下的目錄結構:

myclass 中需要載入 myclassbase 和 myclassdata。如果用 require(),myclass 內的**如下:

local myclassbase = require(

)local myclass =

class

("myclass"

, myclassbase)

local data1 = require(

)local data2 = require(

)

假如我們將 myclass 及其相關檔案換乙個目錄存放,那麼就必須修改 myclass 中的 require() 命令,否則將找不到模組檔案。

而使用 import(),我們只需要如下寫:

local myclassbase =

import

(".myclassbase"

)local myclass =

class

("myclass"

, myclassbase)

local data1 =

import

(".data.data1"

)local data2 =

import

(".data.data2"

)

當在模組名前面有乙個"." 時,import() 會從當前模組所在目錄中查詢其他模組。因此 myclass 及其相關檔案不管存放到什麼目錄裡,我們都不再需要修改 myclass 中的 import() 命令。這在開發一些重複使用的功能元件時,會非常方便。

我們可以在模組名前新增多個"." ,這樣 import() 會從更上層的目錄開始查詢模組。

不過 import() 只有在模組級別呼叫(也就是沒有將 import() 寫在任何函式中)時,才能夠自動得到當前模組名。

本文參考鏈結

import 和元件庫按需引入

今天查資料查到了一些有趣的東西,記錄下來,供以後開發時參考,相信對其他人也有用。import require export module.exports 混合使用詳解 import from element ui 這段 到底發生了什麼?babel 會將這段 進行轉碼,轉碼之後是這個樣子 var a ...

檔案引入方式 link 和 import

link 和 import 作用 樣式的匯入方式 link 的使用 import 的使用 link 和 import 的區別 引入的內容不同 link 除了引用樣式檔案,還可以引用等資源檔案,而 import 只引用樣式檔案 載入順序不同 link 引用 css 時,在頁面載入時同時載入 impor...

Vue中import引入模組路徑時的 符號

1 es6 模組主要有兩個功能 export 和 import export 使用者對外輸出本模組 乙個檔案可以理解為乙個模組,比如 aaa.js bbb.js 變數的介面 import 用於在乙個模組中載入另乙個含有 export 介面的模組 也就是這個 js 檔案一定要含有 export 而我們...