splincodewd
@splincodewd
Developer

Как разрешить подключение библиотек по определенному пути для node_modules через webpack2?

В моей директории ui-util запускается webpack с ключем source=путь_до_ресурсов

webpack.config.js
config.entry = {
    'polyfills': `${SOURCE}/polyfills.ts`,
    'vendor':  `${SOURCE}/vendor.ts`,
    'app': `${SOURCE}//main.ts`
  };


В самих исходниках есть подключения библиотек, к примеру
import {enableProdMode} from "@angular/core";
import {platformBrowserDynamic} from "@angular/platform-browser-dynamic";


Но проблема в том, что уже "@angular/core" библиотеки не находятся, и понятное дело (так как node_modules лежит в директории ui-util локально, также как локально запускается webpack)

Но ресурсы не локальные, и как для них пробросить путь к node_modules? Чтобы он подключал оттуда?

Добавил конфигурационный файл
config.resolve = {
        extensions: ['.ts', '.js', '.json', '.css', '.scss', '.html'],
        modules: [
            path.resolve(__dirname, "node_modules"),
        ]
    };


библиотеки стали спокойно подключаться в директории ресурсов, а какие-то нет, но во вложенных не подключаются

.
├── app
│   ├── app.component.html
│   ├── app.component.scss
│   ├── app.component.ts
│   ├── app.module.ts
│   └── directives
│       └── materialize-select.directive.ts
├── main.ts
├── polyfills.ts
├── settings.json
└── vendor.ts


Какие-то подключаются, а какие-то нет, очень странно и как это исправить не понятно

ERROR in [at-loader] ../auth/src/main/resources/webapp/source/app/app.component.ts:1:81 
    Cannot find module '@angular/core'.

ERROR in [at-loader] ../auth/src/main/resources/webapp/source/app/app.component.ts:2:50 
    Cannot find module '@angular/forms'.

ERROR in [at-loader] ../auth/src/main/resources/webapp/source/app/app.module.ts:1:24 
    Cannot find module '@angular/core'.

ERROR in [at-loader] ../auth/src/main/resources/webapp/source/app/app.module.ts:2:29 
    Cannot find module '@angular/platform-browser'.

ERROR in [at-loader] ../auth/src/main/resources/webapp/source/app/app.module.ts:3:26 
    Cannot find module '@angular/http'.

ERROR in [at-loader] ../auth/src/main/resources/webapp/source/app/app.module.ts:4:48 
    Cannot find module '@angular/forms'.

ERROR in [at-loader] ../auth/src/main/resources/webapp/source/app/directives/materialize-select.directive.ts:1:59 
    Cannot find module '@angular/core'.

ERROR in [at-loader] ../auth/src/main/resources/webapp/source/main.ts:1:30 
    Cannot find module '@angular/core'.

ERROR in [at-loader] ../auth/src/main/resources/webapp/source/main.ts:2:38 
    Cannot find module '@angular/platform-browser-dynamic'.


При этом в node_modules эти библиотеки точно присутствуют
  • Вопрос задан
  • 242 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы