Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs Webpack别名:“";之间的区别是什么?”/{path}";及;{path}";?_Reactjs_Webpack - Fatal编程技术网

Reactjs Webpack别名:“";之间的区别是什么?”/{path}";及;{path}";?

Reactjs Webpack别名:“";之间的区别是什么?”/{path}";及;{path}";?,reactjs,webpack,Reactjs,Webpack,我在app/components/中定义了一些React组件。我在网页包中设置了一些别名,如下所示: //webpack.conf.js module.exports = { entry: './app/app.jsx', output: { path: __dirname, filename: './public/bundle.js' }, resolve: { root: __dirname, a

我在
app/components/
中定义了一些React组件。我在网页包中设置了一些别名,如下所示:

//webpack.conf.js
module.exports = {
    entry: './app/app.jsx',
    output: {
        path: __dirname,
        filename: './public/bundle.js'
    },
    resolve: {
        root: __dirname,
        alias: {
            Main: 'app/components/Main.jsx',
            Nav: 'app/components/Nav.jsx',
            Weather: 'app/components/Weather.jsx',
            About: 'app/components/About.jsx'
        },
        extensions: ['', '.js', '.jsx']
    },
    module: {
        loaders: [
            {
                loader: 'babel-loader',
                query: {
                    presets: ['react', 'es2015', 'stage-0']
                },
                test: /\.jsx?$/,
                exclude: /(node_modules|bower_components)/
            }
        ]
    }
};
我的问题是:为什么所有别名都以
'app'
开头,而不是
'./app'
?当我将别名更改为以
./'
开头时(因为我认为它们是等效的),webpack抱怨
模块未找到:错误:无法解析…
,因此它们似乎不等效


为什么对于
条目
输出.filename
,它们确实需要
。/'
?是因为
resolve.root:\uu dirname
\uuuuDirName
(在
解析和
输出中)的用途是什么?

\uuuDirName
指向您的
webpack.config.js
所在的当前目录。因此,当您使用路径指定输出文件的位置时,输出文件的位置将相对于
webpack.config.js
所在的主目录

关于解析中
/
的使用:路径相对于包含
require
调用的文件进行解析。因此,您应该在webpack.config.js中使用绝对路径,以避免在调用别名文件/模块时需要考虑相对路径。请参阅网页文档

将相对路径连接到上下文目录,并生成 绝对文件根据“解析绝对路径”进行解析

因此,在使用alias时无需使用
/
。 您可以看到将哪些别名解析为哪些别名的示例 我希望我能解释清楚

这太棒了。谢谢你的帮助!:)。如果你觉得答案有用,请接受。