0
是否有可能獲取目錄中的所有裝飾器?我想實現路由組件,它的工作原理相同的方式在Symfony的,它使用註解:獲取所有裝飾器
@Route("/")
public function index() { // ...
於是開始了我的應用程序時,我需要找到所有的註釋和創建我的路出來。這可能嗎?
編輯:只是澄清:我在談論一個NodeJS應用程序。我想遍歷目錄中的所有文件並查找所有裝飾器。
是否有可能獲取目錄中的所有裝飾器?我想實現路由組件,它的工作原理相同的方式在Symfony的,它使用註解:獲取所有裝飾器
@Route("/")
public function index() { // ...
於是開始了我的應用程序時,我需要找到所有的註釋和創建我的路出來。這可能嗎?
編輯:只是澄清:我在談論一個NodeJS應用程序。我想遍歷目錄中的所有文件並查找所有裝飾器。
您需要查找/打開文件(使用fs
),然後自己解析或使用Compiler API。這些聽起來都不那麼有趣。
的替代(如果我理解您的方案)是註冊一個調用裝飾的每個組件,是這樣的:如果這Route
裝飾是不是你的,但是第三方的一部分
const REGISTRY = new Map<string, Function[]>();
export function Route(path: string) {
if (!REGISTRY.has(path)) {
REGISTRY.set(path, []);
}
return (constructor: Function) => {
REGISTRY.get(path).push(constructor);
// do what ever the decorator does
}
}
然後使用你自己的裝飾者來調用原來的裝飾者。
這應該夠了,謝謝:) – nehalist
你是什麼意思「獲取目錄中的所有裝飾器」?你想遍歷特定目錄中的所有文件,然後每個文件檢查它的所有裝飾?這甚至是一個節點應用程序或瀏覽器嗎? –
是的,遍歷目錄中的所有文件並檢查它的裝飾器正是我想要的。我們正在討論一個NodeJS應用程序。 – nehalist