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时无需使用/
。
您可以看到将哪些别名解析为哪些别名的示例
我希望我能解释清楚 这太棒了。谢谢你的帮助!:)。如果你觉得答案有用,请接受。