paysera / lib-maba-webpack-extension-bundle
该软件包最新版本(0.2.1)没有可用的许可信息。
为maba/webpack-bundle提供扩展,以便更好地集成到开发者环境中
0.2.1
2020-12-11 14:54 UTC
Requires
- maba/webpack-bundle: ^1.0
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';
- Eslint会对你关于
import/no-unresolved
发出警告; - 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