I have been trying to use Vue.js with TypeScript and I came across this repo.
I faced issues here that I am getting error while importing Vue Single Component File from TypeScript. I am using Visual Studio Code. Please see error below.
main.ts:
// The Vue build version to load with the 'import' command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import * as Vue from 'vue'
import App from './App'
/* eslint-disable no-new */
new Vue({
el: '#app',
template: '<App/>',
components: { App }
})
VS Code error:
1 ERROR • main.ts [ts] Cannot find module './App'. (4 17)
From Alex Jover:
If your editor is yelling at the line import App from './App' in main.js file about not finding the App module, you can add a vue-shim.d.ts file to your project with the following content:
declare module "*.vue" {
import Vue from 'vue'
export default Vue
}
and write :
import App from './App.vue'
instead of
import App from './App'
Check out vue-class-component
. Basically, you must add appendTsSuffixTo: [/\.vue$/]
to ts-loader
's options and esModule: true
to vue-loader
's options.
// webpack.config.js
{ modules: { rules: [
{
test: /\.ts$/,
exclude: /node_modules|vue\/src/,
loader: "ts-loader",
options: { appendTsSuffixTo: [/\.vue$/] }
},
{
test: /\.vue$/,
loader: 'vue-loader',
options: {
esModule: true
}
}
]}}
I may have missed something else.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With