Javascript 网页包生成错误
网页包有一些问题。它构建得很好,但是当我打开我的站点时,我得到:Javascript 网页包生成错误,javascript,node.js,webpack,Javascript,Node.js,Webpack,网页包有一些问题。它构建得很好,但是当我打开我的站点时,我得到:Getting error:“uncaughtreferenceerror:webpackJsonp未定义” 我相信我的插件在我的应用捆绑之前就已经运行了 知道我的配置在src/config/webpack.config.js中可能会有所帮助,它正在构建到dist/js/ 我读过,但都没有帮助,除非我遗漏了什么 devtool: 'source-map', entry: { vendor: [ 'reac
Getting error:“uncaughtreferenceerror:webpackJsonp未定义”
我相信我的插件在我的应用捆绑之前就已经运行了
知道我的配置在src/config/webpack.config.js
中可能会有所帮助,它正在构建到dist/js/
我读过,但都没有帮助,除非我遗漏了什么
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
],
webpackJsonp
函数是由commons块定义的,因此在编写
标记时,必须始终将commons块(vendor.js
)放在第一位。您也不能使用
另一种可能性是,当您将
output.filename
设置为常量字符串时,条目区块会覆盖供应商区块。尝试将其命名为[name].js
而不是app.js
我的生产环境也面临同样的问题。我不知道为什么,但当我只上传捆绑包+供应商,用生产webpack配置构建时,我得到了相同的错误。我刚刚解决了重新启动节点应用程序的错误。但我知道这不是一个好办法
我在我的网页制作配置中使用的插件与您完全相同,我很确定原因是其中一个网页优化插件
我的建议是:
尝试逐一评论这些优化插件(AggressiveEmergingPlugin、Dedupleplugin和UglifyJsPlugin),您可能会发现是哪一个导致了问题
我现在不能测试它,因为它只发生在我的生产环境中,我现在不能停止/测试它。但是,如果它对您有效,请让我知道:)看起来我加载脚本的顺序不对。修复了我的webpackJsonp错误。现在只加载了我的标题,但我的控制台或服务器日志中没有任何错误,这一点都没有帮助。需要加载polyfills.js,然后加载vendor.js,然后加载app.jsI才能用上面标记的答案解决我的问题