Webpack没有看到绝对路径

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Webpack没有看到绝对路径相关的知识,希望对你有一定的参考价值。

我在React应用程序中使用绝对路径。但是WebPack却给我一个错误。 ERROR in ./src/index.js Module not found: Error: Can't resolve 'App' in .../client/src'但是,我的文件位于此文件夹中。如何解决这个问题呢?我看到我已经写过类似的问题,但我没有找到答案

WebPack配置

    const path = require('path');
    const htmlWebpackPlugin = require('html-webpack-plugin');
    const MiniCssExtractPlugin = require('mini-css-extract-plugin');

    module.exports = {
        entry: './src/index.js',
        output: {
            path: path.resolve(__dirname, 'build'),
            publicPath: '/',
            filename: 'bundle.js'
        },
        resolve: {
            extensions: ['.js', '.jsx']
        },
        module: {
            rules: [
                {
                    test: /.js$/, exclude: /node_modules/, loader: 'babel-loader'
                },
                {
                    test: /.css$/, use: ['style-loader', 'css-loader'],
                }
                ]
        },
        plugins: [
            new HtmlWebpackPlugin({
                filename: 'index.html',
                template: './public/index/html'
            }),
            new MiniCssExtractPlugin({
                filename: 'style.css'
            })
        ]
    };

我的文件的层次结构

---project
      --client
         -public
           index.html
         -src
           'folders'
           index.js
           App.js
           App.css
      --package.json
      --webpack.config.js
      --.babelrc
答案

您可以将其添加到webpack.config文件中。

 resolve: {
      extensions: ['.js', '.jsx'],
      alias: {
        root: __dirname,
        src: path.resolve(__dirname, 'src'),
      },
    },

然后你可以导入

import something from 'src/index.js'

但是如果你使用的东西不是Webpack,例如Jest,Storybook然后你还需要应用这些信息。

例如为了

npm install babel-plugin-module-resolver

并更新.babelrc以了解绝对路径

{
  "plugins": [
    [
      "module-resolver",
      {
        "extensions": [".js", ".jsx"],
        "root": ["./src"],
        "alias": {
          "root": ".",
          "src": "/src"
        }
      }
    ]
  ]
}

以上是关于Webpack没有看到绝对路径的主要内容,如果未能解决你的问题,请参考以下文章

webpack 报错 path is not defind

Vue.js img src 使用绝对路径(django+webpack)

使用react + webpack时如何使用绝对路径导入自定义scss?

Webpack中的路径

webpack的路径问题到底是怎么回事

webpack的路径问题到底是怎么回事