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没有看到绝对路径的主要内容,如果未能解决你的问题,请参考以下文章
Vue.js img src 使用绝对路径(django+webpack)