Я использую веб-пакет для связывания 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 искажать имена файлов или что-то еще не так?