【问题标题】:override built-in json-loader in webpack 4覆盖 webpack 4 中的内置 json-loader
【发布时间】:2018-03-01 15:22:07
【问题描述】:

我有自己的 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 webpack-4


【解决方案1】:

你必须告诉 webpack 你的加载器发出的是 javascript 而不是 json。 为此,您必须将 type: "javascript/auto" 添加到您的加载程序配置中:

module: {
    rules: [ 
         { 
            test: /\.json$/, 
            use: [ 'custom-json-loader' ] ,
            type: "javascript/auto"
         }
   ]
}

Changelog for Webpack 4

【讨论】:

    猜你喜欢
    • 2020-03-13
    • 1970-01-01
    • 2019-01-11
    • 2018-09-21
    • 2021-10-28
    • 2019-05-27
    • 2019-08-25
    • 1970-01-01
    • 2016-10-28
    相关资源
    最近更新 更多