vue-cli里面`.`和`@`的区别

在vue-cli的srcrouterindex.js文件中有这么一行:

import Hello from '@/components/Hello';

问题:
1、上面语句中的@.的区别是什么?
也就是这样:

import Hello from './components/Hello';

2、需要看什么资料才有关于这个的说明?

阅读 27.7k
2 个回答

这和vue没关系。

./这是相对路径的意思。
@/这是webpack设置的路径别名。

这东西在vue标准模板里面的build/webpack.base.conf这个文件里面。

resolve: {
    // 路径别名
    alias: {
        '@': resolve('src'),
        'vue$': 'vue/dist/vue.esm.js'
    }
},

就是说@这东西代表着到src这个文件夹的路径

这个配置的具体讲解在这里:resolve.alias

resolve: {
    extensions: ['.js', '.vue', '.json'],
    alias: {
      'vue$': 'vue/dist/vue.esm.js',
      '@': resolve('src'),
      'stylus': resolve('src/stylus')
    }
 }
 
 @是webpack配置的引用路径,resolve里面有一个alias的配置项目,能够让开发者指定一些模块的引用路径。对一些经常要被import或者require的库,我们最好可以直接指定它们的位置,这样方便我们查找。
 
 './'表示同目录文件引用
 
 如果正好此时你的页面所在位置就是vue-cli配置的src目录,那这两个代码的文件路径是一致的,但注意大多数实际情况它俩是不一致的。
宣传栏