覆盖 webpack 4 中内置的 json-loader
override built-in json-loader in webpack 4
我有自己的 json-loader,我想用它来代替内置的 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"
}
]
}
我有自己的 json-loader,我想用它来代替内置的 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"
}
]
}