Webpack может сделать несколько записей, как я могу сделать то же самое для resol.alias? - PullRequest
0 голосов
/ 03 июля 2019

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: ?,
        },
    },
};

Я спрашиваюэтот вопрос, потому что я хочу использовать react для pageOne, но псевдоним react - preact для pageTwo (я хочу, чтобы даже псевдоним node_modules реагировал компонент на preact)

Как мне этого добиться?

1 Ответ

1 голос
/ 03 июля 2019

Я не думаю, что это возможно при вашем подходе. alias значения должны быть строками на основе документов Webpack . Если у вас действительно есть две отдельные страницы, вы можете попробовать возможность множественной конфигурации Webpack .

В вашем случае это означает что-то вроде следующего:

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

Другой подход заключается в прямом импорте preact в ваши скрипты на странице page2, но, исходя из вашего подхода, я думаю, что в вашей ситуации это недопустимо.

...