Если я разрабатываю модуль узла следующим образом:
// index.js in library
const loadRoutes = () => require('./routes.js')
export default loadRoutes
Затем свяжите его с помощью веб-пакета:
// webpack.config.js
module.exports = {
entry: './index.js',
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'index.js',
libraryTarget: 'commonjs2'
},
mode: 'development'
}
Затем в приложении конечного пользователя, когда я импортирую библиотеку, я хочу, чтобы require('./routes.js')
требовал routes.js
относительно приложения.
import loadRoutes from 'myLib'
loadRoutes()
Но выдает исключение: Can not find module './routes.js'
.
Я пытался использовать плагин игнорирования webpack . Но это не работает так, как я ожидал. Конфигурация веб-пакета:
module.exports = {
entry: './index.js',
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'index.js',
libraryTarget: 'commonjs2'
},
plugins: [
new webpack.IgnorePlugin(/routes\.js/)
],
mode: 'development'
}
Я не знаю, почему такую полезную вещь так сложно реализовать в веб-пакете. Я делаю это неправильно? или что?