Vue Loader 无法解析'@'
Vue Loader Can't resolve '@'
版本
15.4.0
复制link
https://codepen.io/fendi-tri-cahyono/pen/wbXKMZ?editors=0010
重现步骤
ERROR in ./node_modules/vue-extend-layout/vue-extend-layout.vue?vue&type=script&lang=js& (./node_modules/vue-loader/lib??vue-loader-options!./node_modules/vue-extend-layout/vue-extend-layout.vue?vue&type=script&lang=js&)
Module not found: Error: Can't resolve '@' in '/Users/fenditricahyono/Projects/titipbeliin/titipbeliin-vue/node_modules/vue-extend-layout'
@ ./node_modules/vue-extend-layout/vue-extend-layout.vue?vue&type=script&lang=js& (./node_modules/vue-loader/lib??vue-loader-options!./node_modules/vue-extend-layout/vue-extend-layout.vue?vue&type=script&lang=js&) 50:19-96
@ ./node_modules/vue-extend-layout/vue-extend-layout.vue?vue&type=script&lang=js&
@ ./node_modules/vue-extend-layout/vue-extend-layout.vue
@ ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/App.vue?vue&type=script&lang=js&
@ ./src/App.vue?vue&type=script&lang=js&
@ ./src/App.vue
@ ./src/main.js
期望什么?
可以为
从“@/something.vue”导入一些东西,
不只是
从 '../../something.vue',
导入一些东西
实际发生了什么?
找不到模块:错误:无法解析“/Users/fenditricahyono/Projects/titipbeliin/titipbeliin-vue/node_modules/vue-extend-layout”中的“@”
为了扩展 Phil 的评论,我假设你没有使用 Vue CLI 初始化项目(通过你的 webpack 配置),你正在寻找的应该是一个别名(用 @
符号是常用的 and/or 由 CLI 生成)映射到项目目录的根路径。因此,请尝试在 resolve.alias
对象下添加以下额外行:
{
// ...
resolve: {
alias: {
// Relative path to your root dir (adjust accordingly)
'@': path.resolve(__dirname, './src'),
vue$: 'vue/dist/vue.esm.js',
},
extensions: ['*', '.js', '.vue', '.json'],
},
// ...
}
版本
15.4.0
复制link
https://codepen.io/fendi-tri-cahyono/pen/wbXKMZ?editors=0010
重现步骤
ERROR in ./node_modules/vue-extend-layout/vue-extend-layout.vue?vue&type=script&lang=js& (./node_modules/vue-loader/lib??vue-loader-options!./node_modules/vue-extend-layout/vue-extend-layout.vue?vue&type=script&lang=js&)
Module not found: Error: Can't resolve '@' in '/Users/fenditricahyono/Projects/titipbeliin/titipbeliin-vue/node_modules/vue-extend-layout'
@ ./node_modules/vue-extend-layout/vue-extend-layout.vue?vue&type=script&lang=js& (./node_modules/vue-loader/lib??vue-loader-options!./node_modules/vue-extend-layout/vue-extend-layout.vue?vue&type=script&lang=js&) 50:19-96
@ ./node_modules/vue-extend-layout/vue-extend-layout.vue?vue&type=script&lang=js&
@ ./node_modules/vue-extend-layout/vue-extend-layout.vue
@ ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/App.vue?vue&type=script&lang=js&
@ ./src/App.vue?vue&type=script&lang=js&
@ ./src/App.vue
@ ./src/main.js
期望什么?
可以为 从“@/something.vue”导入一些东西, 不只是 从 '../../something.vue',
导入一些东西实际发生了什么?
找不到模块:错误:无法解析“/Users/fenditricahyono/Projects/titipbeliin/titipbeliin-vue/node_modules/vue-extend-layout”中的“@”
为了扩展 Phil 的评论,我假设你没有使用 Vue CLI 初始化项目(通过你的 webpack 配置),你正在寻找的应该是一个别名(用 @
符号是常用的 and/or 由 CLI 生成)映射到项目目录的根路径。因此,请尝试在 resolve.alias
对象下添加以下额外行:
{
// ...
resolve: {
alias: {
// Relative path to your root dir (adjust accordingly)
'@': path.resolve(__dirname, './src'),
vue$: 'vue/dist/vue.esm.js',
},
extensions: ['*', '.js', '.vue', '.json'],
},
// ...
}