compilation.emitAsset 不是 sitemap-webpack-plugin 中的函数

compilation.emitAsset is not a function in sitemap-webpack-plugin

我正在尝试在我的生产环境中构建站点地图,并且我一直在尝试使用 sitemap-webpack-plugin 但出现以下错误:

ERROR in TypeError: compilation.emitAsset is not a function
    at /Users/ME/Sites/test-site/node_modules/sitemap-webpack-plugin/lib/index.js:378:41
    at Array.forEach (<anonymous>)
    at SitemapWebpackPlugin.<anonymous> (/Users/ME/Sites/test-site/node_modules/sitemap-webpack-plugin/lib/index.js:377:34)
    at step (/Users/ME/Sites/test-site/node_modules/sitemap-webpack-plugin/lib/index.js:86:23)
    at Object.next (/Users/ME/Sites/test-site/node_modules/sitemap-webpack-plugin/lib/index.js:67:53)
    at fulfilled (/Users/ME/Sites/test-site/node_modules/sitemap-webpack-plugin/lib/index.js:57:58)

我的package.json:

"sitemap-webpack-plugin": "^1.1.0",
"webpack": "4.28.0",

在我的 webpack.prod 里面:


const SitemapPlugin = require('sitemap-webpack-plugin').default;
const paths = ['url/', 'url/url2'];

// later down the file inside plugins:

new SitemapPlugin({ base: 'https://www.bob.com', paths })

因为我正在使用 webpack 4,所以我认为 emitAsset 应该可以工作?

还有其他人遇到过这个吗?

compilation.emitAsset 从 webpack 4.40.0 开始可用,请参阅 https://webpack.js.org/api/compilation-object/#emitasset,这意味着您可能需要先升级您的 webpack。