Настройте JSON в Arkit для визуализации модулей NPM в Package.json

#node.js #json #npm #architecture

#node.js #json #npm #архитектура

Вопрос:

Я использую следующий пакет npm с именем arkit для создания диаграмм архитектуры node.js проекты, но я не могу визуализировать пакеты npm (папку зависимостей) в моем node.js архитектура приложения, как показано в примерах Arkit и Vue / Nuxt TodoMVC, я пытался следовать конфигурации json каждого из их соответствующих arkit, но либо они не существуют, как в Vue, либо расплывчаты, как в самом Arkit. Я использовал конфигурацию, указанную в примере конфигурации arkit, но в итоге я получаю все зависимости основных зависимостей, подобные этой. Я попробовал следующую конфигурацию

 { "$schema": "https://arkit.pro/schema.json", 
"excludePatterns": ["test/**", "tests/**", "**/*.test.*", "**/*.spec.*"], 
"components": [ 
{ "type": "Dependency", 
"patterns": ["node_modules/**/*.js"] }, 
{ "type": "Component", 
"patterns": ["**/*.js", "**/*.jsx"] 
} 
], 
"output": [ 
{ "path": "arkit.svg", 
"groups": [ { "first": true, "components": ["Component"] },
 { 
"type": "Dependencies", 
"components": ["Dependency"] 
} 
] 
} 
] 
}
  

но во время генерации архитектуры произошел сбой, я также отправил электронное письмо владельцу этого пакета npm и еще одному человеку, которому успешно удалось это сделать, но они заняты, чтобы помочь мне настроить JSON arkit.
Могу ли я использовать цикл for-of в файле конфигурации JSON, чтобы получить только те node_modules, которые включены в package.json, поскольку я не хочу получать дополнительные зависимые от основных пакетов npm в представлении архитектуры, как показано в ссылке, приведенной выше!

TL;DR Мне нужны диаграммы с подобными зависимостями, но я получаю это, я попробовал, добавив —depth=0 в командной строке «npx arkit —config test.json —depth=0», но безуспешно

Ответ №1:

Я думаю, что arkit ожидает вывода.путь должен быть массивом, но вы передаете ему строку. Попробуйте использовать измененную конфигурацию:

 {
    "$schema": "https://arkit.pro/schema.json",
    "excludePatterns": ["test/**", "tests/**", "**/*.test.*", "**/*.spec.*"],
    "components": [{
            "type": "Dependency",
            "patterns": ["node_modules/*"]
        },
        {
            "type": "Component",
            "patterns": ["**/*.js", "**/*.jsx"]
        }
    ],
    "output": [{
        "path": ["arkit.svg"],
        "groups": [{
                "first": true,
                "components": ["Component"]
            },
            {
                "type": "Dependencies",
                "components": ["Dependency"]
            }
        ]
    }]
}
  

Комментарии:

1. Это не работает, я думаю, что требуется некоторая модификация в node_modules / «something»

2. Я также внес это изменение. Забыл упомянуть об этом. Вы использовали конфигурацию, которую я ввел как есть?

3. Да, я использовал конфигурацию как есть, не могли бы вы любезно помочь мне изменить часть node_modules?

4. Не могли бы вы опубликовать ошибку, которую вы получаете? Это может помочь упростить понимание того, что происходит.

5. вы использовали какую-либо глубину в своей командной строке arkit? например, «список npm -depth = 0»

Ответ №2:

В Ubuntu это работает так, как будто есть больше причин ненавидеть Windows 10. Я внедрил конфигурацию package.json для приложения Vue авторов и viola, это сработало как шарм. 2 месяца поиска ответов и пробования всего в Windows, Ubuntu сделал свое дело