是否可能仅将特定的加载程序应用于特定条目束中的模块
我的webpack.config.js
module.exports = {
entry: {
bundle: path.resolve(cwd, 'src', 'index.ts'),
tests =[...glob.sync('**/*.spec.ts')],
polyfills: ['polyfill1', 'polyfill2'],
},
output: {
library: pkg.name,
libraryTarget: 'umd',
filename: '[name].js',
umdNamedDefine: true,
path: path.resolve(cwd, 'build'),
},
resolve: {
extensions: ['.ts', '.tsx', '.js', 'mjs']
},
module: {
rules: [{
test: /\.(t|j)s/, // this loader should only be used for every file that is bundled in entrypoint 'tests'
loader: 'babel-loader',
options: {
...options
}
},
{
test: /\.(t|j)s/, // this loader should only be used for every file that is bundled in entrypoint 'bundle'
loader: 'babel-loader',
options: {
...options
}
}
]
}
}
我只想为特定条目捆绑包中的文件运行特定的加载器,在webpack文档中,我没有找到有关如何查询使用文件的捆绑包名称的任何线索,我只能访问文件名文件。
看来您可以在入口点中使用内联加载器语法来完成这项工作(在Webpack 4.42.1中进行了测试)
以下webpack.config.js
将对raw-loader
入口点将script.js
应用于script_raw
,但不适用于script_plain
入口点。
var path = require('path');
module.exports = {
mode: 'development',
entry: {
'script_raw': 'raw-loader!./script.js',
'script_plain': './script.js',
},
output: {
path: '/app/out',
filename: '[name].js'
}
};
您可以使用查询字符串(?name=value
)语法传递不同的选项