resolve.alias
在组件之间相互引用时,可能是下面这样的:
import Hello from '../../src.components/Hello';
其中的路径是相对于当前页面的,但是如果嵌套等更为复杂,那么写起来会比较麻烦。但是如果我们通过这样的配置:
resolve: {
extensions: ['.js', '.vue', '.json'],
alias: {
'vue$': 'vue/dist/vue.esm.js',
'@pages': path.join(__dirname, "..", "src", "pages"),
"@components": path.join(__dirname, "..", "src", "components"),
// 注意: 静态资源通过src,不能这么设置。
// "@assets": path.join(__dirname, "..", "src", "assets"),
}
其中vue$表示引入vue,就可以像下面这么写:
import Vue from 'vue'
另外,对于@pages和@components我们就可以直接引用了,而省去了一大堆的复杂应用,另外通过@可以消除歧义。如下所示:
import Hello from '@components/Hello';
import App from '@pages/App'