我试过看一些相关的答案,比如this,但是它们都是完全不同的,所以希望有人能给我一点指导。我对webpack非常陌生,我刚刚更新了我的烧瓶应用程序,以一个新的引导主题。我突然从命令yard run处得到了码头构建中的错误。有趣的是,以前的git提交构建得很好,当我恢复到它时,它现在也会出现同样的错误。
TypeError: previousExtractedCommentsSource.replace is not a function
at Object.callback (/app/assets/node_modules/terser-webpack-plugin/dist/index.js:320:43)
at enqueue (/app/assets/node_modules/terser-webpack-plugin/dist/index.js:450:14)This answer建议这可能是一个代码错误,但如果是的话,我将如何找到它呢?
我的webpack.config.js,如果有帮助的话:
var { merge } = require('webpack-merge');
var webpack = require('webpack');
var CopyWebpackPlugin = require('copy-webpack-plugin');
var MiniCssExtractPlugin = require('mini-css-extract-plugin');
var OptimizeCSSAssetsPlugin = require('optimize-css-assets-webpack-plugin');
var TerserPlugin = require('terser-webpack-plugin');
var common = {
watchOptions: {
poll: (process.env.WEBPACK_WATCHER_POLL || 'true') === 'true'
},
module: {
rules: [
{
test: /\.js$/,
exclude: [/node_modules/],
loader: 'babel-loader'
},
{
test: [/\.scss$/, /\.css$/],
use: [
MiniCssExtractPlugin.loader,
'css-loader',
'postcss-loader',
'sass-loader'
]
},
{
test: /\.(png|jpg|gif|svg)$/,
exclude: /fonts/,
loader: 'file-loader?name=/images/[name].[ext]'
},
{
test: /\.(ttf|eot|svg|woff2?)$/,
exclude: /images/,
use: [{
loader: 'file-loader',
options: {
name: '[name].[ext]',
outputPath: 'fonts/',
publicPath: '../fonts'
}
}]
}
]
},
optimization: {
minimizer: [
new TerserPlugin({cache: true, parallel: true, sourceMap: false}),
new OptimizeCSSAssetsPlugin({})
]
}
};
module.exports = [
merge(common, {
entry: [
__dirname + '/app/app.scss',
__dirname + '/app/app.js'
],
output: {
path: __dirname + '/../public',
filename: 'js/app.js'
},
resolve: {
modules: [
'/node_modules',
__dirname + '/app'
]
},
plugins: [
new CopyWebpackPlugin({patterns: [{from: __dirname + '/static'}]}),
new MiniCssExtractPlugin({filename: 'css/app.css'}),
new webpack.ProvidePlugin({$: 'jquery', jQuery: 'jquery'}),
]
})
];我很感谢你的帮助。谢谢
发布于 2022-09-09 20:56:17
在我的例子中,在后面添加type: "asset/resource",
test: /\.(png|jpg|gif|svg)$/,
exclude: /fonts/,
loader: 'file-loader?name=/images/[name].[ext]'解决了问题。
https://stackoverflow.com/questions/67298315
复制相似问题