Webpack可以执行多个条目,如何为resolve.alias做同样的事情?

时间:2019-07-03 04:59:26

标签: javascript reactjs webpack preact

Webpack可以执行多个这样的输入:

module.exports = {
  entry: {
    pageOne: './src/pageOne/index.js',
    pageTwo: './src/pageTwo/index.js',
    }
};

但是如何为pageOne和pageTwo创建两个不同的别名

module.exports = {
  entry: {
    pageOne: './src/pageOne/index.js',
    pageTwo: './src/pageTwo/index.js',
    }
    resolve: {
        alias: {
            aliasForPageOne: ?, // What should I do?
            aliasForPageTwo: ?,
        },
    },
};

我问这个问题是因为我想对pageOne使用react,但是对pageTwo使用别名reactpreact(我希望别名node_modules能够对组件做出反应)

我该如何实现?

1 个答案:

答案 0 :(得分:1)

我认为您的方法不可能做到这一点。 alias的值必须是基于Webpack Docs的字符串。如果您确实有两个单独的页面,则可以尝试Webpack的multiple configuration ability

对于您而言,这意味着类似于以下内容:

// note the exported array
module.exports = [
{
  entry: {
    pageOne: './src/pageOne/index.js',
    }
},
{
  entry: {
    pageTwo: './src/pageTwo/index.js',
  },
  resolve: {
    alias: {
      'react': 'preact'
    }
  }
}
];

另一种方法是直接在第二页的脚本中导入preact,但是根据您的方法,我认为这不是您所处情况的有效方法。