作者:吴台吉国瑋智仁 | 来源:互联网 | 2023-02-12 19:28
我正在使用Visual Studio Code,Vue 2(webpack模板)和Typescript.
这是我的App.vue组件:
[content here]
问题1:一切正常,但是我希望
对于Q2,如@Oswaldo所建议,您可以定义vue.d.ts
具有以下内容的文件:
declare module '*.vue' {
import Vue = require('vue')
const value: Vue.ComponentOptions
export default value
}
如果你把这个文件的${Project_ROOT}/typings
文件夹,您需要在您的这种类型的文件tsconfig.json
一样
"typeRoots": ["./typings"]
然后你可以*.vue
用.vue
后缀导入文件:
import App from './App.vue'
如果你不喜欢包括.vue
后缀,你可以把所有的Vue组件在一个单一的文件夹,例如src/components
,改变vue.d.ts
为以下几点:
declare module 'src/components/*' {
import Vue = require('vue')
const value: Vue.ComponentOptions
export default value
}
它src
被定义webpack.base.conf.js
为绝对路径的别名.
resolve: {
extensions: ['.js', '.vue', '.json', '.ts'],
alias: {
'vue$': 'vue/dist/vue.esm.js',
'src': resolve('src')
}
}
然后,您需要使用完整路径导入没有.vue
后缀的组件:
import App from 'src/components/App'
两者都不是优雅的解决方案,但红色下划线已经消失.