Когда вы настраиваете свой веб-пакет, у вас, вероятно, есть что-то вроде этого:
{
module: {
rules: [{
// testing for js/jsx files, and using babel-loader load them int webpack
test: /\.jsx?$/,
// Maybe looking only on your source folder
// (and looking aside from the node_modules as a consequence)
include: [
path.resolve(__dirname, '../src'),
],
use: [{
loader: 'babel-loader', // Ask babel to eat up those files and prep them for webpack
options: {
presets: [
// What ever babel presets you might use
],
plugins: [
// Some babel plugins you might use, like transform-runtime, or lodash
// This plugin is RHL's dude that goes over your code and marks
// things for patching later by the client
'react-hot-loader/babel',
]
},
}, {
// some other loaders for styles, images etc.
},]
}
// More webpack stuff
}
Обычно вы не применяете загрузчик "js / jsx" к node_modules
(как показано выше), и именно поэтому плагин babel, который RHL использует для исправления вещейУ up никогда не будет возможности обработать код Kendo.
В документации вас попросят это сделать, чтобы добавить еще один загрузчик, который ищет файлы js / jsx, но применяет только плагин babel RHL.как это:
{
module: {
rules: [{
// Your usual loaders including the usual babel-loader for your code
}, {
test: /\.jsx?$/,
include: [
// Focus on the folder of the module you want to "cold" later
// or go for all node_modules if you need to
path.resolve(__dirname, '../node_modules/<YOUR MODULE>'),
],
use: [{
loader: 'babel-loader',
options: {
plugins: [
// The only plugin
'react-hot-loader/babel',
]
},
}]
}
}
Затем, когда вы настраиваете RHL на клиенте (первое, что вы делаете), вызывая setConfig
, вы также получите файлы из помеченных теперь модулей для применения cold
on.
В вашем самом первом файле, как показано в документации, требуется файл rhlconfig.js
.onComponentRegister
теперь также должен видеть файлы из node_modules
.