【问题标题】:WebStorm does not resolve aliases when Webpack is configured from Expo's createWebpackConfigAsync从 Expo 的 createWebpackConfigAsync 配置 Webpack 时,WebStorm 不解析别名
【发布时间】:2021-04-27 05:37:56
【问题描述】:

我有一个使用 Expo 的 React Native Web 项目。我添加了aliases 以使导入语句更易于阅读和管理。 Expo,作为其配置的一部分,有自己的 Webpack 配置,可以使用documentation found here 进行修改。这有效,并且在项目构建/运行时别名正确解析。但是,WebStorm 无法解析其智能感知中的别名。

例如:

import userSlice from "@store/User";  // Hovering over "@store/User" will show warning: Module is not installed

webpack.config.js

let path = require("path");
const createExpoWebpackConfigAsync = require("@expo/webpack-config");

const aliases = {
    '@store': path.resolve(__dirname, '/src/store/'),
};

module.exports = async function (env, argv) {
    env.mode = "development"
    const config = await createExpoWebpackConfigAsync(env, argv);

    config.resolve.alias = {
        ...aliases,
        ...config.resolve.alias,
    };

    return config
};

事件日志中没有指示错误的输出。

考虑到env 属性可能会有所不同,我还尝试手动将它们设置为从终端构建时存在的相同值。我也尝试过在没有 Expo 的情况下创建一个简单的 Webpack 配置,而 WebStorm 确实解决了这个问题。

【问题讨论】:

    标签: webpack expo webstorm


    【解决方案1】:

    可以关联WEB-36182;你可以检查你的idea.log 文件(Help > Show Log in ...),看看webpack评估是否有任何错误。 我建议尝试为 VSCode 建议的解决方法(在 jsconfig.json 中配置路径映射) - 这应该适用于 WebStorm

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-16
      • 1970-01-01
      • 2020-02-16
      • 2017-07-27
      • 2018-11-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-21
      相关资源
      最近更新 更多