首页 > 解决方案 > Webpack:引用不存在的文件以将其替换为加载程序

问题描述

有没有办法在 Webpack 尝试获取资源之前转换 Webpack 中资源的文件路径?

我的 JS 模块需要从node_modulesBootstrap 的下拉列表中导入标准库:

node_modules/bootstrap/js/dist/dropdown.js

我无法复制这些库,对重复项执行转换并将其另存为新文件以满足我的需要。我几乎有一个对内容进行转换的 Webpack 加载器,但我需要一种通用的方法来在我的模块中标记这些文件。

所以我决定在我的模块中使用不存在的扩展来引用它们,例如:

import 'bootstrap/js/dist/dropdown.js.newextension';

然后引用这个扩展webpack.config

{
  test: /\.newextension$/,
  use: [
    { loader: path.resolve('path-to-custom-loader.js') },
    'babel-loader'
  ]
}

但是 Webpack 抛出:这意味着它会在我切断加载器、获取正确的文件并进行转换Module not found: Error: Can't resolve 'bootstrap/js/dist/dropdown.js.newextension'之前尝试获取文件。.newextension

那么,在 Webpack 尝试获取资源以将路径转换为文件之前,我该如何进入 Webpack 的进程呢?

标签: javascriptwebpackwebpack-loader

解决方案


推荐阅读