paysera/lib-maba-webpack-extension-bundle

该软件包最新版本(0.2.1)没有可用的许可信息。

为maba/webpack-bundle提供扩展,以便更好地集成到开发者环境中

0.2.1 2020-12-11 14:54 UTC

This package is auto-updated.

Last update: 2024-09-14 15:58:10 UTC


README

此捆绑包允许开发者钩入maba/webpack-bundle的webpack.config.js导出过程,并对开发环境所需进行更改。

为什么?

当使用maba/webpack-bundle别名时,你可能会遇到这种情况,即当你导入像这样的事物时,既不是IDE(PHPStorm)也不是Eslint会高兴

import { StaticTextFormGroup } from '@app/js/common/components/StaticText';
import { CheckboxFieldFormGroup } from '@app/js/common/components/CheckboxField';
  1. Eslint会对你关于import/no-unresolved发出警告;
  2. IDE(PHPStorm)也无法帮助你 - 无法导航到导入的模块(ctrl + click);

这是因为你从Docker(或任何其他)容器中运行项目,而webpack.config.js中的路径仅在容器中有效,不在主机上有效,因此IDE(PHPStorm)无法识别webpack.config.js中的路径。

安装

composer require --dev paysera/lib-maba-webpack-extension-bundle

在你的AppKernel

    if (in_array($this->getEnvironment(), array('dev', 'test'))) {
        // ...
        $bundles[] = new Paysera\Bundle\MabaWebpackExtensionBundle\PayseraMabaWebpackExtensionBundle();
    }

配置

由于此捆绑包仅用于开发目的,我们建议你仅在config_dev.yml中进行配置。

捆绑包公开这些选项

paysera_maba_webpack_extension:
    replace_paths:
        /home/app/src: "/home/me/Projects/my-project"
    replace_items:
        webpack_config_path: true
        alias: true
        manifest_path: true
        entry: false
    replaced_webpack_config_path: "%kernel.cache_dir%/webpack.config_%kernel.environment%.js"

maba_webpack:
    aliases:
        prefix: '%' # change the prefix to something different than "@"
  • replace_paths - 要在webpack.config.js中替换的键值路径的数组。
  • replace_items - 要使用replace_paths的开关的数组。
  • replaced_webpack_config_path - 将修改后的webpack.config.js放置的字符串。
  • 将默认的maba_webpack.aliases.prefix更改为不同于@#!的任何内容

推荐设置

在你的config_dev.yml

paysera_maba_webpack_extension:
    replace_paths:
        /home/app/src: "/home/me/Projects/my-project"

安装eslint-import-resolver-webpack并使用以下内容配置你的.eslintrc设置

  "settings": {
    "import/resolver": {
      "webpack": {
        "config": "app/cache/dev/webpack.config_dev.js"
      }
    }
  }

使用这些行,你可以摆脱import/no-unresolved消息。

IDE配置

只需将IDE的webpack.config.js更改为app/cache/dev/webpack.config_dev.js