PHPStorm 对 JS 或者 Vue 文件中导入路径别名识别

在使用 PHPStorm 开发前端项目时,使用 ES6 构建项目时,会经常使用import对应的文件。

此时,我们常常会使用相对路径找到对应的文件,比如import Loading from '../../../components/Loading';,此时如果文件嵌套层次太深,则会导致这个过程十分费劲。

这里可以使用 webpack 的 alias 来处理这个问题,最终的目的是可以通过command+b,或者command+左键打开到被导入的文件。

这里以 laravel-mix 的代码演示为例。

处理前

  • webpack.mix.js
const mix = require('laravel-mix');
mix.webpackConfig({
    resolve: {
        extensions: ['.js', '.vue', '.json'],
        alias: {
            '@': path.resolve(__dirname, 'resources/js'),
        },
    },
});
  • LoginLayout.vue

<script>
import Loading from '@/components/Loading.vue';
</script>

处理后

  • 新增webpack.conf.js文件
const path = require('path');
const webpack = require('webpack');
module.exports = {
    resolve: {
        extensions: ['.js', '.vue', '.json'],
        alias: {
            '@': path.resolve(__dirname, 'resources/js'),
        },
    },
}

webpack.mix.js的配置部分分离到webpack.config.js

  • 修改webpack.mix.js文件
const mix = require('laravel-mix');
const config = require('./webpack.config');
mix.webpackConfig(config);
  • 修改 PHPStorm 中的 webpack 配置

参考