模組與包的S設計

2021-08-25 15:21:19 字數 1309 閱讀 6803

理論可見上文模組載入方案 ,這次**下如何設計 api 使用 js 模擬其他語言常見的模組 與包 的概念:

模組化實踐@google doc

1.新增模組:

通過 s.add 向執行環境新增模組,模組可以新增乙個簡單物件,或者乙個載入函式。

簡單物件:

s.add("module1",);
載入函式:

s.add("module2",function(s));
如果新增的是載入函式,模組真正的值則是該函式的執行結果。

依賴注入:

新增模組時可以通過宣告該模組的依賴模組名字,執行環境會將依賴的模組值通過引數注入到載入函式中:

s.add("module3",function(s,dom,module2),);
引用子模組:

宣告依賴模組後,可以通過 require 來使用依賴模組的子模組:

s.add("module_event",function(s,event),);
2.包與模組命名空間

新增模組時可以通過 「/」 引入模組命名空間 :

s.add("js/lang/integer",function()

return integer;

},);

將定義檔案放入 : http://modules/js/lang/interger.js 中,使用時,通過

s.packages();
來宣告 js package 對應的路徑(url,not file path),而 js 包下可類似定義多個同類模組。

最終通過 use 來使用某個模組:

s.use("js/lang/interge",function(s,integer));
3.執行流程

s.use("a",function(s,a){});
demo using s

小結:

約定優先配置,模組名隱含路徑

去除冗餘資訊,模組名代表了命名空間,不需重新掛載

內建模組例如 dom ,event 並無包,屬於 unnamed package ,應用模組推薦使用包機制並且頂層包名不要和內建模組衝突。

4.後期優化

主要就是自動化合併,自動管理依賴項,可見:定製模組編譯工具

python的包與模組

這是一篇python小白關於包與模組的粗淺認知,用以加深理解。如有錯誤,請各位前輩多多指教 什麼是包與模組 在python中,我們可以把包與模組理解為資料夾與檔案,但僅僅是這樣理解,包與資料夾的區別就是包下會有乙個 init py 檔案 稍後我們對其進行一段解釋。而模組中還包括有 類,變數,函式等元...

python模組與包

路徑修改 命令列怎麼檢視路徑,修改路徑 列印當前搜尋路徑 import sys sys.path sys.path import os os.getcwd os.chdir c www 模組實現構建模組的初衷就是將一些同類的東西進行打包,以免汙染全域性空間,在python的模組裡,對需要隱藏的屬性和...

python 模組與包

模組與包 1.什麼是模組 在 python 中,乙個.py檔案就稱之為乙個模組 module 模組的優點 大大提高了 的可維護性 編寫 不必從零開始。當乙個模組編寫完畢,就可以被其他地方引用 2.匯入模組的幾種方式 4.模組的分類 1 內建模組 os,sys,dnspython,socket,tim...