1 Вопрос: Как лениво загрузить угловой модуль без CLI?

вопрос создан в Wed, May 8, 2019 12:00 AM

Я еще не нашел этот конкретный пример использования, описанный где-либо. Если он существует, отошлите меня к нему.

Я хотел бы добиться ленивой загрузки модулей Angular (используя Angular версии 7), потому что мы используем много больших сторонних библиотек для определенных частей нашего приложения, которые используются редко. Однако мы не используем Angular CLI (команда ng). Все примеры, которые я видел, используют Angular CLI для построения блока модуля и загрузки через строку пути, либо в loadChildren, либо каким-либо другим способом.

Наша сборка управляется с помощью Webpack (файл webpack.config.js). Насколько я понимаю, Angular CLI - это инструмент для сборки, и для использования Angular это не требуется. Поскольку мы знаем, что эта функциональность существует в Angular, должен быть способ использовать ее без CLI. Я не возражаю против хакерских решений этой проблемы, так как я надеюсь, что эта функция может быть более надежно внедрена в будущем в среду Angular.

Любая крошка информации будет оценена.

    
0
  1. Angular CLI с открытым исходным кодом. Посмотрите, как они это делают.
    2019-05-08 16: 32: 03Z
  2. Как вы правильно сказали, CLI является оболочкой абстракции над Webpack. Поэтому один из способов понять, как это происходит, - создать пример приложения с лениво загруженными модулями. Затем используйте ng eject для удаления базовой конфигурации Webpack. Он должен содержать правильные загрузчики и скрипт для генерации и загрузки чанков.
    2019-05-08 16: 34: 28Z
  3. Это была бы интересная идея. Я пробовал это однажды, но ng eject больше не доступен в Angular 7. Мне нужно будет выяснить, существует ли более старая версия Angular с ng eject и ленивыми модулями.
    2019-05-08 16: 47: 59Z
1 ответ                              1                         
  

Все примеры, которые я видел, используют Angular CLI для построения блока модуля и загрузки через строку пути, либо в loadChildren, либо каким-либо другим способом.

Это верно, но если вы не используете Angular CLI, вам нужно установить пакет angular-router-loader, а затем в свой webpack.config.js file добавить его в загрузчики машинописного текста:

loaders: [
  {
    test: /\.ts$/,
    loaders: [
      'awesome-typescript-loader'
    ]
  },
  {
    test: /\.(ts|js)$/,
    loaders: [
      'angular-router-loader'
    ]
  }  
]
    
0
2019-05-08 19: 06: 10Z
источник размещен Вот