Внедрить ngMaterial с помощью веб-пакета, углового генератора полного стека

Я хочу создать веб-приложение, и я начал его создавать с помощью генератора полного стека angular. Этот генератор использует веб-пакет, и я впервые использую веб-пакет.

Я пытался добавить зависимость ngMaterial, установив ее с помощью:

npm install angular-material --save

Я добавил зависимость в config.entry.vendor из файла webpack.make.js, но когда я попытался импортировать ngMaterial, я получил следующую ошибку:

ERROR in ./client/app/app.js Module not found: Error: Cannot resolve module 'ngMaterial' in path\client\app @ ./client/app/app.js 21:18-39

Как я могу внедрить зависимость с помощью веб-пакета?


person Dorin    schedule 10.03.2017    source источник


Ответы (1)


Я предполагаю, что вы указали неправильное имя зависимости в конфигурации веб-пакета: ngMaterial вместо angular-material.

ngMaterial — это имя модуля angularjs, вы указываете его как зависимость в своем модуле приложения angular, например:

angular.module('app', ['ngMaterial'])

Но в webpack зависимостях вы должны указать node.js имя модуля, которое angular-material (он находится в папке node_modules после того, как вы установите его с помощью команды npm install)

ИЗМЕНИТЬ:

При необходимости в вашем app.js вы также должны импортировать этот модуль через import 'angular-material' или require('angular-material'). Но если вы включите эту зависимость в отдельный файл vendor.js (через webpack), вам никогда не следует включать этот модуль в ваш app.js, потому что он будет загружаться на страницу в vendor.js. Если вы это сделаете, вы включите его 2 раза в свой проект.

person GProst    schedule 11.03.2017
comment
Спасибо за разъяснения, проблему решил. Можете ли вы сказать мне, где я могу найти больше документации о веб-пакете, чтобы я мог документировать себя по этому вопросу? Спасибо - person Dorin; 11.03.2017
comment
Вот хорошие плейлисты YouTube с уроками webpack Мэтью Хсиунга. Основы и некоторые расширенные примеры конфигурации. - person GProst; 11.03.2017