我正在尝试编写一个Webpack加载器,每当我导入一个特定的固定字符串"Hello“时,它都会在编译时运行我的加载器,并返回一个不可缓存的字符串。
import x from 'Hello';
console.log(x)这里的问题是"Hello“不是一个文件。
为了做到这一点,我在module.rules的Webpack配置中引入了我的加载器,让我的加载器的test属性为"Hello“,但它不起作用。
// webpack.config.js
{
...
module: {
rules: [
{
test: /Hello/,
use: [
{
loader: path.resolve('./my-custom-loader.js'),
options: {
/* ... */
},
},
],
},
...
],
...
}
}这在Webpack是不是可能的呢?
发布于 2021-07-31 23:16:46
//假设您的客户加载器位于加载器目录中
my-customer-loader.js
./loaders/my-customer-loader.js
//您的客户加载器my-customer-loader.js
module.exports = function(source){
console.log(source)
results = source + 'change source'
return source
}// webpack.config.js
{
....
resolveLoader: {
// webpack by default looks for loaders in node_modules so your must declare where you loader is located
module: ['node_modules', path.resolve(__dirname, 'loaders')]
},
Module: {
rules: [
test: /\.js$/,
use: 'my-customer-loader'
]
}
......
}https://stackoverflow.com/questions/68605829
复制相似问题