~有老师说说这个符号是在引用时规定添加的,但是这节课里import"pages' 这里没添加啊?
~有老师说说这个符号是在引用时规定添加的,但是这节课里import"pages' 这里没添加啊?
29
收起
正在回答 回答被采纳积分+1
2回答
樱桃小胖子
2020-05-06 18:21:39
同学你好,@import后面的@是webpack的路径别名,@ 等价于 /src 这个目录,作用是避免写麻烦又易错的相对路径,相关代码也是定义在配置文件webpack.base.config里,如下:
1 2 3 4 5 6 7 8 9 10 11 | resolve: { // 自动补全的扩展名 extensions: [ '.js' , '.vue' , '.json' ], // 默认路径代理 // 例如 import Vue from 'vue',会自动到 'vue/dist/vue.common.js'中寻找 alias: { '@' : resolve( 'src' ), '@config' : resolve( 'config' ), 'vue$' : 'vue/dist/vue.common.js' } } |
希望可以帮到你,祝学习愉快!
樱桃小胖子
2020-05-06 17:58:29
同学你好,~指的是@import 后面的波浪号~么?这个~关于路径配置的,比如:
正常vue中写法如下:
1 | @import '../../../../assets/css/varibles.scss' |
可以简写为以下:
1 | @import '~@/assets/css/varibles.scss' |
这里的~符号表示后面的值为别名, 然后会去 build/webpack.base.conf.js 的 alias 配置中找相应的值, 然后拼接成最后的地址。
1 2 3 4 5 6 7 | resolve: { extensions: [ '.js' , '.vue' , '.json' ], alias: { 'vue$' : 'vue/dist/vue.esm.js' , '@' : resolve( 'src' ), } } |
也可以在 build/webpack.base.conf.js 的 alias 配置自定义字符,比如scss:
1 2 3 4 5 6 7 8 | resolve: { extensions: [ '.js' , '.vue' , '.json' ], alias: { 'vue$' : 'vue/dist/vue.esm.js' , '@' : resolve( 'src' ), 'scss' : resolve( 'src/assets/css' ), } } |
然后在 main.js 或者其他组件都可以使用如下方式书写:
1 | @import '~scss/varibles.scss' |
希望可以帮到你,如果还有疑问,可以再次提问,祝学习愉快!
4.Vue与React高级框架开发
- 参与学习 人
- 提交作业 239 份
- 解答问题 10739 个
本阶段带你深入前端开发的肌理,通过ES6基础知识和前端主流高级框架的学习,助你快速构建企业级移动webAPP应用,进入职场的终极battle
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧