开发场景开发场景开发场景当使用 Vue 框架进行项目开发时,在 vue.config.js 中配置好了路径别名后,到其他页面引入组件、引入 css 、引入静态文件路径时,使用路径别名不会智能提示路径。虽然在 vscode 中安装了Path Intellisense 插件,但是并无作用。这样容易出现路径拼写错误的低能问题,同时也会造成开发效率降低Path Intellisense 解决方案解决方案解决方案在项目 package.json 所在同级目录下创建文件 jsconfig.json, 来解决别名路径不提示的问题。(配置完保存文件后需要重启编辑器才能生效。而且它只能识别 .vue 和 .js结尾的文件,css文件与其他的静态文件依然没有提示, 不推荐!!!)

// .jsconfig.json
{

"compilerOptions": {

"baseUrl": ".",

"paths": {

"@/\*": \['src/\*'\],

"a/\*": \["src/assets/\*"\],

"c/\*": \["src/components/\*"\],

...

}

},

"include": \["./src/\*\*/\*.vue", "./src/\*\*/\*.js"\],

"exclude": \["node\_modules"\]
}

// .jsconfig.json
{

"compilerOptions": {

"baseUrl": ".",

"paths": {

"@/\*": \['src/\*'\],

"a/\*": \["src/assets/\*"\],

"c/\*": \["src/components/\*"\],

...

}

},

"include": \["./src/\*\*/\*.vue", "./src/\*\*/\*.js"\],

"exclude": \["node\_modules"\]
}
在 vscode 的 setting.json 中给 Path Intellisence 配置(该方案是最优选,能识别任意格式文件,覆盖率最广。当别名发生改变时只需修改配置即可)

// setting.json
"path-intellisense.mappings": {

"a": "${workspaceRoot}/src",

"c": "${workspaceRoot}/src/components",

...
}

// setting.json
"path-intellisense.mappings": {

"a": "${workspaceRoot}/src",

"c": "${workspaceRoot}/src/components",

...
}
其他网友解决方法
其他网友解决方法其他网友解决方法项目中webpack.base.conf.js配置自定义别名

resolve: {

extensions: ['.js', '.vue', '.json'],

alias: {

'vue$': 'vue/dist/vue.esm.js',

'@': resolve('src'),

'styles': resolve('src/assets/styles')

}
},

resolve: {

extensions: ['.js', '.vue', '.json'],

alias: {

'vue$': 'vue/dist/vue.esm.js',

'@': resolve('src'),

'styles': resolve('src/assets/styles')

}
},
在项目根目录下创建jsconfig.json文件,配置如下:

{
"compilerOptions": {

"baseUrl": ".",

"paths": {

"@/*": [

"src/*"

],

// 配置自定义的别名匹配路径

"styles/*": [

"src/assets/styles/*"

]

},

"target": "ES6",

"module": "commonjs",

"allowSyntheticDefaultImports": true
},
"include": [

"src/**/*"
],
"exclude": [

"node_modules",

"dist"
]
}

{
"compilerOptions": {

"baseUrl": ".",

"paths": {

"@/*": [

"src/*"

],

// 配置自定义的别名匹配路径

"styles/*": [

"src/assets/styles/*"

]

},

"target": "ES6",

"module": "commonjs",

"allowSyntheticDefaultImports": true
},
"include": [

"src/**/*"
],
"exclude": [

"node_modules",

"dist"
]
}