【发布时间】:2019-06-30 21:19:43
【问题描述】:
我在使用 typescript 的 vue 项目上配置 webpack 别名时遇到问题。如果我使用普通的 javascript,则不会遇到同样的问题,因此我很困惑
该项目分为 2 个,“app_marketplace”,“app_producer”(类似于管理员),我还有一个用于共享组件和实用程序的第三个文件夹。
项目文件夹结构:
- .env.marketplace
- .env.producer
- 公开/
- 源/
- app_marketplace/
- app_producer/
- app_shared/
- vue.config.js
- tslint 文件、babel、package.json 等。
我将 2 应用程序与 package.json 中的脚本分开运行。
例如,"serve:marketplace": "vue-cli-service serve --mode marketplace src/app_marketplace/main.ts" 调用我的.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_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
我做错了什么?
【问题讨论】:
标签: typescript vue.js webpack vuejs2