Vue typescript错误,网页包别名,未找到路径
我在使用typescript在vue项目上配置webpack别名时遇到问题。如果我使用的是普通的javascript,就不会遇到同样的问题,因此我感到困惑 该项目分为2个部分,“AppuMarketplace”、“AppuProducer”(类似于管理员),我还有一个用于共享组件和实用程序的第三个文件夹 项目文件夹结构:Vue typescript错误,网页包别名,未找到路径,typescript,vue.js,webpack,vuejs2,Typescript,Vue.js,Webpack,Vuejs2,我在使用typescript在vue项目上配置webpack别名时遇到问题。如果我使用的是普通的javascript,就不会遇到同样的问题,因此我感到困惑 该项目分为2个部分,“AppuMarketplace”、“AppuProducer”(类似于管理员),我还有一个用于共享组件和实用程序的第三个文件夹 项目文件夹结构: 环境市集 环境制作人 公开的/ src/ 应用程序市场/ 应用程序制作人/ 应用程序共享/ vue.config.js tslint文件、babel、package.js
- 环境市集
- 环境制作人
- 公开的/
- src/
- 应用程序市场/
- 应用程序制作人/
- 应用程序共享/
- vue.config.js
- tslint文件、babel、package.json等
package.json
中分别运行2个应用程序和脚本
例如,“serve:marketplace”:“vue cli service serve--mode marketplace src/app_marketplace/main.ts”
调用my.env.marketplace
文件,并将env
设置为vue_app_marketplace=true
现在,在我的vue.config.js
中,我使用env变量设置别名
configureWebpack: {
resolve: {
alias: {
'~': path.resolve(__dirname, 'src/app_shared'),
'@': path.resolve(__dirname, process.env.VUE_APP_MARKETPLACE ? 'src/app_marketplace' : 'src/app_producer')
}
}
}
问题是,从我的main.ts
内部app\u marketplace
开始,很多导入都不起作用或给我错误。另一件我无法解释的事情是,为什么它们有些有效,有些无效
import App from './App.vue'
import router from '~/router' // ERROR
import store from '@/store' // ERROR
import '@/plugins'
import '~/directives'
import { DEBUG } from '~/const/debug' // ERROR
我做错了什么?您的
tsconfig.json
应该有一个与您的网页路径别名匹配的路径配置:
{
"paths": {
"~/*": [
"src/app_shared/*",
],
"@/*": [
"src/*"
]
},
...
}
由于文件是JSON,您将无法在文件中使用条件路径别名。是否存在以下问题:“@/*”:[“src/app\u marketplace/*”,“src/app\u producer/*”]
?除非在两个目录下都有相同的目录树,否则这样做不会有问题(例如,src/app\u marketplace/foo/foo.ts
和src/app\u producer/foo/foo.ts
,在这种情况下,第一个找到的路径优先)。