Недавно я создал конфигурацию с webpack и bootstrap v4.0.0-alpha.6, которая отлично работала до сегодняшнего дня, когда я попытался перейти на бета-версию v4, и теперь я не могу заставить ее работать должным образом :( У меня есть эта конфигурация:
webpack.config.js
entry: {
app: "./src/app.js"
},
output: {
path: path.resolve(__dirname, 'public'),
filename: 'js/[name].js',
hotUpdateChunkFilename: 'hot/hot-update.js',
hotUpdateMainFilename: 'hot/hot-update.json'
},
module: {
loaders: [
{ test: /\.js$/, exclude: /node-modules/, loader: 'babel-loader' },
{ test: /\.html$/, loader: 'raw-loader', exclude: /node_modules/ },
{ test: /\.(css|scss|sass)$/,
loader: ExtractTextPlugin.extract({
fallback: "style-loader",
use: ['css-loader', 'postcss-loader', 'sass-loader']
}),
exclude: /node_modules/
}
]
},
plugins: [
new webpack.ProvidePlugin({ // inject ES5 modules as global vars
$: 'jquery',
jQuery: 'jquery',
'window.jQuery': 'jquery',
Popper: ['popper.js', 'default']
}),
new ExtractTextPlugin('/css/[name].css'),
в моем app.js у меня есть require('bootstrap');
Теперь, когда я пытаюсь сделать сборку, я получаю сообщение об ошибке:
ERROR in ./node_modules/bootstrap/dist/js/bootstrap.js
Module build failed: ReferenceError: Unknown plugin "transform-es2015-modules-strip" specified in "E:\\Documente\\Work\\wordpress\\wordpressSite\\wp-content\\themes\\bsTheme\\node_modules\\bootstra
p\\.babelrc" at 0, attempted to resolve relative to "E:\\Documente\\Work\\wordpress\\wordpressSite\\wp-content\\themes\\bsTheme\\node_modules\\bootstrap"
Проблема, кажется, здесь, в bootstrap/.babelrc
{
"presets": [
[
"es2015",
{
"loose": true,
"modules": false
}
]
],
"plugins": [
"transform-es2015-modules-strip"
]
}
Я попытался зайти в каталог bootstrap и npm install
: npm install
(я не знаю, почему я должен это делать, поскольку у меня уже есть своя конфигурация для bable/autoprefixer) У меня уже есть babel-core, babel-loader, babel-preset- es2015, установленный в моем собственном пакете. transform-es2015-modules-strip
Я установил transform-es2015-modules-strip
и снова transform-es2015-modules-strip
сборку:
ERROR in ./node_modules/bootstrap/dist/js/bootstrap.js
Module not found: Error: Can't resolve 'jquery' in 'E:\Documente\Work\wordpress\wordpressSite\wp-content\themes\bsTheme\node_modules\bootstrap\dist\js'
@ ./node_modules/bootstrap/dist/js/bootstrap.js 1:0-17
@ ./src/app.js
ERROR in ./node_modules/bootstrap/dist/js/bootstrap.js
Module not found: Error: Can't resolve 'popper.js' in 'E:\Documente\Work\wordpress\wordpressSite\wp-content\themes\bsTheme\node_modules\bootstrap\dist\js'
@ ./node_modules/bootstrap/dist/js/bootstrap.js 1:0-20
@ ./src/app.js
Поэтому я попробовал и установил jquery и popper в своем проекте как зависимость от dev... избавился от ошибки jquery, но..:
ERROR in ./node_modules/bootstrap/dist/js/bootstrap.js
Module not found: Error: Can't resolve 'popper.js' in 'E:\Documente\Work\wordpress\wordpressSite\wp-content\themes\bsTheme\node_modules\bootstrap\dist\js'
@ ./node_modules/bootstrap/dist/js/bootstrap.js 1:0-20
@ ./src/app.js
Из идей... и это кажется сложным... Я не могу понять, что я делаю неправильно, единственное, что я могу придумать, - это bootstrap.js
файл bootstrap.js
прямо с моей другой js files... long post, но я хотел быть как можно более конкретным.
Что я должен сделать, чтобы заставить его работать снова, я бы очень признателен за помощь. Спасибо