Webpack Encore не может найти установленную зависимость Spectrum-colorpicker2 - PullRequest
0 голосов
/ 07 апреля 2020

Intro

Я хотел бы использовать палитру цветов в своем проекте.

Мой выбор остановился на spectrum-colorpicker2 из-за современного внешнего вида и функций.

I Я использую Symfony v4.4 с Webpack Encore связкой.

Для JS пакетов, которые я использую YarnPKG.

Проблема

Оба import и require результаты в той же ошибке.

Ошибка

[..]
PS D:\DEV\project> yarn encore dev
yarn run v1.22.4
$ D:\DEV\project\node_modules\.bin\encore dev
Running webpack ...

 ERROR  Failed to compile with 1 errors

This dependency was not found:

* spectrum-colorpicker2 in ./assets/js/file_type_color.js

To install it, you can run: npm install --save spectrum-colorpicker2
[..]

Код 1

'use strict';

// loads the jquery package from node_modules
import $ from 'jquery';
var spectrum = require('spectrum-colorpicker2');
require('spectrum-colorpicker2/dist/spectrum.min.css');

$(function()
{
    $('#assign_color').spectrum({
        type: "component",
        showAlpha: "false"
    });
});

Код 2

'use strict';

// loads the jquery package from node_modules
import $ from 'jquery';
import spectrum from 'spectrum-colorpicker2';
import 'spectrum-colorpicker2/dist/spectrum.min.css';

$(function()
{
    $('#assign_color').spectrum({
        type: "component",
        showAlpha: "false"
    });
});

Я пытался

Я несколько раз пытался добавить и удалить пакет, но результат тот же.

yarn add spectrum-colorpicker2
yarn remove spectrum-colorpicker2

Журнал установки

[..]
PS D:\DEV\project> yarn add spectrum-colorpicker2
yarn add v1.22.4
[1/4] Resolving packages...
warning Resolution field "node-notifier@6.0.0" is incompatible with requested version "node-notifier@^5.1.2"
[2/4] Fetching packages...
info fsevents@1.2.11: The platform "win32" is incompatible with this module.
info "fsevents@1.2.11" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
warning " > sass-loader@7.3.1" has unmet peer dependency "webpack@^3.0.0 || ^4.0.0".
[4/4] Building fresh packages...
success Saved 1 new dependency.
info Direct dependencies
└─ spectrum-colorpicker2@2.0.0
info All dependencies
└─ spectrum-colorpicker2@2.0.0
Done in 5.22s.
[..]

Wrap

Если я сделал ошибку, пожалуйста, исправь меня. Пожалуйста, сообщите мне по этой проблеме.

Спасибо!

1 Ответ

0 голосов
/ 08 апреля 2020

Оказывается, загруженный пакет spectrum-colorpicker2 отформатирован неправильно!

В нем есть папка dist внутри другой папки dist.

В результате Webpack может не найдены необходимые файлы.

Решение: включить JavaScript файл напрямую:

var spectrum = require('spectrum-colorpicker2/dist/spectrum.min.js');
...