Как избежать дублирования скриптов в связках и встряхивании деревьев - PullRequest
0 голосов
/ 04 октября 2018

Итак, я просто пытаюсь просмотреть результаты webpack-bundle-analyzer , ища вещи, которые должны быть на диете, и более подробно разбираюсь в процессе сборки CLI (CLI v6.1.5, Angularv6.1.8) и улучшить наш экземпляр.

Я заметил, что на общем ng build, когда я иду, я просматриваю комплект поставщиков, который вижу;

var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
 * jQuery JavaScript Library v3.2.1

, что прискорбно, поскольку он не минимизирован как весь файл jquery.js со скоростью около 260k +, однако я также нахожу это в комплекте скриптов;

/*! jQuery v3.2.1 | (c), который является минимизированным файломверсию, которую я ожидал, учитывая, что я объявил ее явно в моем массиве скриптов в angular.json

Так что я решил, что я переместил его в tsconfig.json как путь к модулю как;

"paths": {
        "jquery": ["./node_modules/jquery/dist/jquery.min.js"],
    }

Тогда он должен взять мин версию и лишить другую у продавца, как я это сделал с другими.Что он делает, прекрасно строит, я вижу разницу в размерах, jquery.js пропал из комплекта вендора .... но я помню, что в этом случае на модулях нет опечаток, поэтому при переходе на init я получаю кучу дерьма error TS2304: Cannot find name '$' ошибок.Который, я действительно не хочу, чтобы объявления import * as $ from 'jquery' повторялись, если бы я мог избежать этого, а также у меня есть зависимый объект в том же пути к angular.json некоторой библиотеки jquery-ui, которую я не использовал как;

"scripts": [
              "./node_modules/jquery/dist/jquery.min.js",
              "./vendor_scripts/jquery-ui/jquery-ui.min.js",
.....

Где, если я просто пропущу путь jquery.min.js, я получу ReferenceError: $ is not defined повсюду.

Так что что-то в этом унаследованном процессе сборки выходит за рамкиЯ надеюсь, что кто-то может научить меня чему-то.Как я могу избежать дублирования сценариев, чтобы положить пакеты на диету, и как я могу убедиться, что мои наборы / объявления окружения соблюдаются правильно?Ура за чтение в любом случае!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...