Я пытаюсь создать собственный загрузчик для использования в моем проекте NWB React.Я просто хотел бы создать собственный загрузчик, который ничего не делает, но поддерживает правильную компиляцию для моих реактивных компонентов.Кажется, я не могу заставить загрузчики работать в правильном порядке, а именно сначала должен произойти мой пользовательский загрузчик, а затем должен быть скомпилирован исходный код.
Я успешно запустил загрузчик и попытался установить его в качестве предварительного загрузчика в конфигурации.Я также попытался вручную добавить второй проход babel-loader
, но, хотя он изменил скомпилированный код, он все еще не компилирует компонент реагирования должным образом.
Вот мой nwb.config.js:
module.exports = function({command}) {
/* Set config */
let config = {
type: 'react-app',
}
config.webpack = {
entry: {
App: './src/components/App.js',
}
extra: {
output: {
path: path.resolve('./dist/webpack_bundles/'),
},
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
loader: path.resolve('./my-loader.js'),
enforce: 'pre',
options: {text: 'hello world'},
}
]
},
},
}
return config
}
А вот текст моего загрузчика, в основном заимствованный из примера на веб-пакете:
export default function(source) {
// Do nothing
return `export default ${ JSON.stringify(source) }`;
}
Наконец,Вот источник, который я использую:
import React, {Component} from 'react'
export default class App extends Component {
render() {
return <div className="App">
<p>Hello World</p>
</div>
}
}
Когда я удаляю раздел модуля из конфигурации моего веб-пакета, стандартная конфигурация веб-пакета nwb правильно скомпилировала мой реагирующий компонент.Однако, когда я вставляю свой загрузчик, он больше не компилирует его должным образом.Он просто возвращает код реакции без изменений.Я бы хотел, чтобы он скомпилировал код, возвращаемый моим загрузчиком.