我有自己的 json-loader,我想使用它来代替内置加载器。这曾经在 webpack-3 中工作;在 webpack-4 中我的加载器被调用 但结果会传递给内置加载器,然后加载器会出错,因为它输入的是 JS 源,而不是 json。如何防止内置 json-loader 被调用?我的 webpack.cofig.ts 看起来像这样:
import * as webpack from 'webpack'
import * as path from 'path'
const config = {
mode: 'production',
node: { fs: 'empty' },
resolveLoader: {
alias: { 'custom-json-loader': 'zotero-plugin/loader/json' },
},
module: {
rules: [ { test: /\.json$/, use: [ 'custom-json-loader' ] } ],
},
// ...
}
export default config
最佳答案
你必须告诉 webpack 你的加载器发出 javascript 而不是 json。
为此,您必须将 type: "javascript/auto"
添加到您的加载器配置中:
module: {
rules: [
{
test: /\.json$/,
use: [ 'custom-json-loader' ] ,
type: "javascript/auto"
}
]
}
关于webpack - 覆盖 webpack 4 中内置的 json-loader,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49052935/