Encore.setOutputPath() пока не может быть вызван, поскольку среда выполнения, похоже, не настроена

#reactjs #webpack #phpstorm #webstorm

#reactjs #webpack #phpstorm #webstorm

Вопрос:

Я настраиваю webpack.config.js но я пропускаю это предупреждающее сообщение PhpStorm от setOutputPath() функции

У меня версия PhpStorm 2018.3.2, и я работаю в Linux Debian

 let Encore = require('@symfony/webpack-encore');

Encore
    .setOutputPath('public/build/')
    .setPublicPath('/build')
    .addEntry('app', './assets/js/app.js')
    .splitEntryChunks()
    .enableSingleRuntimeChunk()
    .cleanupOutputBeforeBuild()
    .enableBuildNotifications()
    .enableSourceMaps(!Encore.isProduction())
    .enableVersioning(Encore.isProduction())
    .enableReactPreset()
    .configureBabel(function (babelConfig) {
        babelConfig.presets.push('@babel/preset-flow');
        babelConfig.plugins.push("@babel/plugin-proposal-class-properties");
        babelConfig.plugins.push('styled-jsx/babel');
    });

module.exports = Encore.getWebpackConfig();
  

Ответ №1:

Сбой происходит потому, что среда выполнения Encore настраивается только при ее запуске (например, при выполнении yarn encore dev ). Исправьте эту проблему, вызывая методы Encore.isRuntimeEnvironmentConfigured() и Encore.configureRuntimeEnvironment() :

Источник

 // webpack.config.js
const Encore = require('@symfony/webpack-encore')

if (!Encore.isRuntimeEnvironmentConfigured()) {
    Encore.configureRuntimeEnvironment(process.env.NODE_ENV || 'dev');
}

// ... the rest of the Encore configuration
  

Ответ №2:

PhpStorm в настоящее время не поддерживает webpack-encore.

Пожалуйста, смотрите https://github.com/symfony/webpack-encore/issues/236#issuecomment-438620314 и другие комментарии в https://github.com/symfony/webpack-encore/issues/236 возможные обходные пути.

Комментарии:

1. symfony.com/doc/current/frontend/encore/…