Не удается разрешить модули при использовании контекста и входа в Webpack - PullRequest
0 голосов
/ 03 октября 2018

При использовании context и объекта ввода Webpack не разрешает какие-либо модули.Это кажется странным, потому что Webpack, похоже, ищет файлы в правильном каталоге, но не может их разрешить.

const path = require('path');

const PATHS = {
  app: path.resolve(__dirname, 'app'),
};

module.exports = {
  context: PATHS.app,
  entry: {
    app: 'app.js',
  },
  module: {
    rules: [
      {
        resolve: {
          extensions: ['.js']
        }
      }
    ],
  },
};

У меня есть файл app.js, расположенный в /absolute/path/to/app

При запускеWebpack выдает следующую ошибку:

ERROR in Entry module not found: Error: Can't resolve 'app.js' in '/absolute/path/to/app'

Обходной путь - полностью удалить значение context и изменить объект entry на:

  entry: {
    app: PATHS.app + '/app',
  },

Есть ли что-то, что я 'отсутствует при использовании context и entry вместе?

1 Ответ

0 голосов
/ 04 октября 2018

Webpack и Node обрабатывают относительные пути в классической записи ./ перед именами файлов или другими путями.В других средах относительные пути без ./ абсолютно правильны, но здесь это необходимо.Обратите внимание, что настройки context никак не влияют на это.Результат будет все тот же.Таким образом, ваша запись должна выглядеть следующим образом:

entry: {
  app: './app.js'
},

К сожалению, нет официальной документации, конкретно касающейся этой проблемы, но в документации Webpack по точкам входа используются только примеры, содержащие обозначение ./.

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