我已将Webpack配置为使用NormalModuleReplacementPlugin
进行以下操作。
const TEMPLATE_REGEXP = /^template_(BB|FF)(\d{2})$/;
const TEMPLATE_NAME_REGEXP = /(BB|FF)(\d{2})/;
plugins: [
new Webpack. NormalModuleReplacementPlugin(TEMPLATE_REGEXP, (resource) => {
const templateName = TEMPLATE_NAME_REGEXP.exec(resource.request)[0];
resource.request = `${__dirname}/src/templates/template_${templateName}/template_${templateName}.jsx`;
})
],
这样
import 'template_ff01'
// will be resolved to
import 'src/template/template_ff01/template_ff01.jsx'
但是我一直坚持用开玩笑进行配置,我尝试过使用moduleNameMapper
,但似乎没有任何效果。