您现在的位置是:综合 >>正文
vue配置绝对路径
综合533人已围观
简介vue.config.js里加一行chainWebpack配置,就能让项目里那堆@/components变成components/。这事我折腾了半小时,最后发现官方文档写得跟天书似的,不如直接抄代码来 ...
vue.config.js里加一行chainWebpack配置,置绝就能让项目里那堆@/components变成components/。对路这事我折腾了半小时,置绝最后发现官方文档写得跟天书似的对路,不如直接抄代码来得快。置绝
先看最常见的对路写法。在项目根目录的置绝vue.config.js里,加上这么一段:
const path = require('path') module.exports = { chainWebpack: config => { config.resolve.alias .set('@',对路 path.resolve(__dirname, 'src')) } } 这段代码的意思是,把@这个符号,置绝映射到src目录的对路绝对路径。之后你写import Header from '@/components/Header.vue',置绝webpack编译时会自动替换成import Header from '/你的对路项目路径/src/components/Header.vue'。省去一层层../../往上爬的置绝痛苦。
但这里有个坑。对路如果你用的置绝是TypeScript,光改vue.config.js不够。tsconfig.json里也得同步改,不然IDE会报红。在compilerOptions里加:
"baseUrl": ".", "paths": { "@/*": ["src/*"] } 两个文件都配好,编辑器才不会发神经。我上次忘了改tsconfig,VSCode一路标红,还以为代码写错了,排查半天才发现是路径别名没同步。
还有种情况,你项目里用了vue-cli-service但没装vue.config.js这个文件。那就得手动建一个,放在根目录。别放错地方,放错位置webpack根本不读。
配置完记得重启dev server。热更新有时候不生效,它不会自动重新加载webpack配置。我习惯改完配置直接Ctrl+C再npm run serve,干净利落。
有人会问,为什么不用configureWebpack?那是个对象写法,也能配alias。但chainWebpack更灵活,能链式调用,以后想加别的loader或插件,直接.set()接上去就行。用configureWebpack的话,改起来要整个对象覆盖,麻烦。
配完绝对路径最直观的感受是,再也不用数../有几个了。从src/views/user/Profile.vue里引用src/utils/format.js,以前写../../utils/format,现在写@/utils/format。代码搬位置的时候,相对路径全断,绝对路径纹丝不动。这省下的不只是敲键盘的时间,是排查路径错误的精神损耗。
最后提醒一句,别把@定义成node_modules的路径。有人图省事把@映射到根目录,结果第三方库和本地代码混在一起,找bug的时候怀疑人生。老老实实指到src就行,够用了。
Tags:
下一篇:欧盟网络安全法
相关文章
ubuntu官网中文版
综合打开ubuntu.com,默认语言是英文。这没什么好奇怪的,毕竟Canonical总部在伦敦,全球用户基数也摆在那儿。但你要是点进官网底部的语言切换器,能找到简体中文选项——那个页面翻译得不算完美,偶 ...
【综合】
阅读更多网络贷款诈骗是什么
综合去年冬天,我接到一个电话。对方自称是某金融平台的客服,说我有一笔校园贷记录需要注销,否则会影响征信。我大学时确实注册过一些乱七八糟的APP,心里咯噔一下。他说得头头是道,连我身份证后四位都报出来了。我 ...
【综合】
阅读更多海南省网站建设有限公司
综合海口国贸路那片写字楼里,藏着几十家做网站的公司,海南省网站建设有限公司不过是其中一个。名字起得大气,占了省份的抬头,但办公室不大,十来个人,电脑屏幕亮成一片。我去过那儿一趟,因为朋友的公司要改版,拉我 ...
【综合】
阅读更多