我正在使用Webpack为应用程序捆绑CodeMirror。但是我仍然无法按照manual中所述获得自动模式加载扩展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修改文件名,还是还有其他问题?