Webpack-merge не имеет доступа к общим переменным конфигурации - PullRequest
0 голосов
/ 11 мая 2018

Как я понимаю, webpack-merge помогает нам разбить наш файл webpack.config на более управляемые куски, добавляя конфигурацию, относящуюся к среде.

В то время как мы разделим биты, специфичные для производства и разработкиОбратите внимание, что мы по-прежнему будем поддерживать «обычную» конфигурацию, чтобы все оставалось сухим.Чтобы объединить эти конфигурации, мы будем использовать утилиту webpack-merge.При наличии «общей» конфигурации нам не придется дублировать код в конфигурациях, зависящих от среды.
- Webpack - производство

Мой код в моем webpack.prod.js выглядит так:

const merge = require('webpack-merge');
const common = require('./webpack.common.js');

module.exports = merge(common, {
  mode: 'production',
  devtool: 'source-map',
  module: {
    rules: [
      {
        test: /\.(png|svg|jpg|gif)$/,
        use: [
            'file-loader'
        ],
        exclude: [
          path.resolve(__dirname, "node_modules") //NEED TO ACCCESS PATH VARIABLE HERE
        ]
      }
  ]
}

В моем webpack.common.js это переменнаяpath, в котором я думал, webpack.prod.js имеет доступ к.Я предполагаю, что это не так, как мне представляется с ошибкой:

ReferenceError: path is not defined

Вопрос

Как получить доступ к общемуконфигурация?Я неправильно понял понятие webpack-merge?

1 Ответ

0 голосов
/ 11 мая 2018

webpack-merge возьмет два объекта js и объединит их, используя lodash mergeWith . Так что в основном это возвращение объекта, который содержит свойства обоих объектов.

Он не может предоставить вам path переменную или любую другую переменную. Вам нужно будет имплицитно импортировать его в ваш файл webpack.prod.js.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...