2016-12-10 11 views
0

Я пытаюсь создать модуль, который расширяет редактор Quill и интегрирует его с моим проектом.Ошибка импорта узла модуля через Webpack, «Возможно, для обработки этого типа файла может понадобиться соответствующий загрузчик»

Когда я пытаюсь импортировать определенные модули Quill в моем пользовательском модуле Quill, WebPack выдает ошибку:

Uncaught Error: Cannot find module "quill/core/quill" 
    at webpackMissingModule (QuillLinkTooltip.js:15) 
    at eval (QuillLinkTooltip.js:15) 

и затем позже:

./~/quill/core/quill.js 
Module parse failed: /Users/path_to_my_app_folder/node_modules/quill/core/quill.js Line 1: Unexpected token 
You may need an appropriate loader to handle this file type. 
| import './polyfill'; 
| import Delta from 'quill-delta'; 
| import Editor from './editor'; 

Вот выдержка из пользовательского модуля Quill (QuillLinkTooltip.js), который я строю и что ошибки ошибки:

import Quill from 'quill/core/quill'; 
import { Range } from 'quill/core/selection'; 
import Keyboard from 'quill/modules/keyboard'; 
import LinkBlot from 'quill/formats/link'; 
import Tooltip from 'quill/ui/tooltip'; 

Я использую в своем проекте Webpack, Babel и Babel es2015. Я могу импортировать другие узловые модули, такие как lodash, используя что-то вроде import get from 'lodash/get';.

Я подозреваю, что веб-пакет может найти модуль, но ему трудно разобрать его. Вот отрывок из моего файла webpack.config.js:

module: { 
    loaders: [ 
     { 
      test: /.*\.js$/, 
      loader: 'babel-loader', 
      exclude: [ /node_modules/, /frontend/ ], 
      query: { 
       presets: [ 'babel-preset-es2015' ].map(require.resolve), 
       plugins: [ 'babel-plugin-add-module-exports' ].map(require.resolve) 
      } 
     }, 

Я прочитал https://quilljs.com/guides/adding-quill-to-your-build-pipeline/, в котором упоминается, что Webback, Бабель и Бабель ES2015 запрограммированные необходимы, так что кажется, я имею право установки WebPack. Но, может быть, я что-то упустил?

ответ

0

Удалось заставить это работать. Оказалось, что мой файл webpack.config.js исключает node_modules из определения babel-loader, поэтому Webpack попытается разрешить файлы в формате quill, помещенные в/node_modules, но не сможет их проанализировать, поскольку они были исключены из загрузчика babel-loader ,

Fixed, добавив исключение к моему исключить заявление:

module: { 
    loaders: [ 
     { 
      test: /.*\.js$/, 
      loader: 'babel-loader', 
      exclude: [ /node_modules(?!\/quill)/, /frontend/ ], 
      query: { 
       presets: [ 'babel-preset-es2015' ].map(require.resolve), 
       plugins: [ 'babel-plugin-add-module-exports' ].map(require.resolve) 
      } 
     }, 

 Смежные вопросы

  • Нет связанных вопросов^_^