Ошибка сборки Webpack

Наличие некоторых проблем с webpack. Он строит отлично, но когда я открываю свой сайт, я получаю: Getting error: "Uncaught ReferenceError: webpackJsonp is not defined"

Я полагаю, что мой CommonsChunkPlugin запущен до того, как подключено мое приложение?

Это может помочь узнать, что у меня есть моя конфигурация в src/config/webpack.config.js, которая строится на dist/js/.

Прочитали https://medium.com/@MarkEwersDev/note-to-self-if-you-ever-get-this-uncaught-referenceerror-webpackjsonp-is-not-defined-message-and-d354f5c4d335#.9cysuil5p и https://github.com/webpack/webpack/issues/368 но ничто не помогает, если я что-то не хватает.

devtool: 'source-map',
 entry: {
 vendor: [
 'react', 'react-dom', 'react-router', 'react-helmet', 'react-redux', 'moment-timezone', 'cookies-js', 'superagent', 'classnames', 'es6-promise'
 ],
 app: [
 './src/client/entry',
 './scss/main.scss',
 ]
 }
 output:{
 path: __dirname + '../../dist/js',
 filename: 'app.js'
 }
 plugins:[
 new webpack.optimize.CommonsChunkPlugin('vendor', 'vendor.js'),
 new ExtractTextPlugin('../css/app.css', {
 allChunks: true
 }),
 new webpack.DefinePlugin({
 'process.env':{
 'NODE_ENV': JSON.stringify('production')
 }
 }),
 new webpack.optimize.AggressiveMergingPlugin(),
 new webpack.optimize.DedupePlugin(),
 new webpack.optimize.UglifyJsPlugin({
 compress: {
 warnings: true
 },
 output: {
 comments: false
 }
 }),
 ...persistentPlugins
 ],
2 ответа

Функция webpackJsonp определяется блоком commons, поэтому вы всегда должны класть кусок commons (vendor.js в вашем случае) при написании тегов


Я столкнулся с той же проблемой в моей производственной среде. Я не знаю, почему, но когда я загружаю только пакет + вендоры, созданные с помощью конфигурации webpack для производства, я получаю ту же ошибку. Я просто решил эту ошибку перезапустить приложение node. Но я знаю, что это не очень хороший подход.

Я использую точно такие же плагины в моем конфигурационном файле webpack, как и вы, и я совершенно уверен, что причина - один из плагинов оптимизации веб-пакетов.

Мое предложение: Попробуйте прокомментировать один из этих плагинов оптимизации (AggressiveMergingPlugin, DedupePlugin и UglifyJsPlugin), и вы можете узнать, какая из них вызывает проблему.

Я не могу проверить это прямо сейчас, потому что это происходит только в моей производственной среде, и я не могу остановить/протестировать его в это время. Но, если это сработает для вас, сообщите мне:)

licensed under cc by-sa 3.0 with attribution.