Webpack:引用不存在的文件以将其替换为加载器

时间:2019-04-12 21:24:14

标签: javascript webpack webpack-loader

在Webpack尝试获取资源之前,有没有一种方法可以转换Webpack中资源的文件路径?

我的JS模块需要从node_modules导入标准库,例如Bootstrap的Dropdown:

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的过程?

0 个答案:

没有答案