Как заставить работать расширение `loadmode` в CodeMirror в комплекте с WebPack? - PullRequest
0 голосов
/ 05 июля 2019

Я использую веб-пакет для связывания CodeMirror для приложения.Но я все еще не могу заставить работать автоматическое расширение загрузки mode/loadmode.js, как описано в руководстве .

Это работает, пока я не создаю пакет.

Первая проблема заключалась в том, что файлы режима (расположенные под codemirror/mode) не были включены в комплект, поскольку на них динамически ссылаются.Я решил эту проблему, добавив в файл приложения следующие строки:

// CodeMirror settings
CodeMirror.modeURL = "codemirror/mode/%N/%N.js";

// ensure webpack pulls in all mode files
require.context(
    "codemirror/mode", // context folder
    true, // include subdirectories
    /.*/ // RegExp
)

Но при дальнейшей попытке установить режим CodeMirror по-прежнему не может найти файлы режима.Я думаю, это потому, что WebPack искажает имена файлов.Я получаю эту ошибку:

Не удается найти модуль 'codemirror / mode / sql / sql.js'

Содержимое webpack.config.js:

const path = require('path');

module.exports = {
    entry: './src/code_editor.js',
    output: {
        path: path.resolve(__dirname, 'dist'),
        filename: 'code_editor.bundle.js'
    },
    module: {
        rules: [
            { test: /\.css$/, use: ['style-loader', 'css-loader'] },
        ]
    },
    optimization: {
        minimize: true
    }
};

Как я могу запретить WebPack искажать имена файлов или что-то еще не так?

...